• dos命令行运行.class源文件错误解决办法


    dos命令行运行java源文件

    public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
                System.out.println("user.dir="+System.getProperty("user.dir"));
                System.out.println("user.home="+System.getProperty("user.home"));
        }

    如源文件AATest.class在D:Source CodeSVN2013EagleCodeAAuildclassescomzwhAATest.class在这个目录下

    如果想要在D:盘执行

    cd ../..
    
    d:
    
    java -classpath D:Source CodeSVN2013EagleCodeAAuildclasses AATest
    -classpath用与指定所要执行的类所在路径

    然而这会报错,找的很多解决方法。

    方法1:路径不能有空格我这里错误就是Source Code这个文件夹包含有空格。

      在命令行这里会将CodeSVN2013EagleCodeAAuildclasses识别为要执行的类名。

      然后发现这个名字的类没有就会包找不到类-----路径不能带空格

    方法2:由于安装的oracle数据库的原因,会自动在path环境变量开头添加Oracle自身的jdk路径,而你自己配置的了jdk路径在oracle自带jdk之后

        命令行执行时用的是oracle数据库自带的jdk,但由于oracle中jdk版本过低不能运行类。----------将安装jdk路径添加在path中的头部

    方法3:因为java代码中有声明package包名如package com.zwh那么运行的时候要用全类名(包名+类名)执行

        java com.zwh.AATest

     测试如下

    将编译后的AATest.class文件放在D:根目录。在C盘运行文件可以成功

    AATest.class文件放在放在D:/haha目录下。运行成功

    AATest.class文件放在放在D:/ha ha目录下。运行报错。

    用法: java [-options] class [args...]
               (执行类)
       或  java [-options] -jar jarfile [args...]
               (执行 jar 文件)
    其中选项包括:
        -d32          使用 32 位数据模型 (如果可用)
        -d64          使用 64 位数据模型 (如果可用)
        -server       选择 "server" VM
                      默认 VM 是 server.
    
        -cp <目录和 zip/jar 文件的类搜索路径>
        -classpath <目录和 zip/jar 文件的类搜索路径>
                      用 ; 分隔的目录, JAR 档案
                      和 ZIP 档案列表, 用于搜索类文件。
        -D<名称>=<值>
                      设置系统属性
        -verbose:[class|gc|jni]
                      启用详细输出
        -version      输出产品版本并退出
        -version:<值>
                      警告: 此功能已过时, 将在
                      未来发行版中删除。
                      需要指定的版本才能运行
        -showversion  输出产品版本并继续
        -jre-restrict-search | -no-jre-restrict-search
                      警告: 此功能已过时, 将在
                      未来发行版中删除。
                      在版本搜索中包括/排除用户专用 JRE
        -? -help      输出此帮助消息
        -X            输出非标准选项的帮助
        -ea[:<packagename>...|:<classname>]
        -enableassertions[:<packagename>...|:<classname>]
                      按指定的粒度启用断言
        -da[:<packagename>...|:<classname>]
        -disableassertions[:<packagename>...|:<classname>]
                      禁用具有指定粒度的断言
        -esa | -enablesystemassertions
                      启用系统断言
        -dsa | -disablesystemassertions
                      禁用系统断言
        -agentlib:<libname>[=<选项>]
                      加载本机代理库 <libname>, 例如 -agentlib:hprof
                      另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
        -agentpath:<pathname>[=<选项>]
                      按完整路径名加载本机代理库
        -javaagent:<jarpath>[=<选项>]
                      加载 Java 编程语言代理, 请参阅 java.lang.instrument
        -splash:<imagepath>
                      使用指定的图像显示启动屏幕
    有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
  • 相关阅读:
    UVA 10970 Big Chocolate
    HBuilder 安装uviewui2.0
    域名访问配置支持ipv6
    SSIS学习视频(SQL Server 2008)
    碰到MySQL无法启动1067错误问题
    对存储过程进行加密和解密(SQL 2008/SQL 2012)
    脚本文件比较工具WinMerge
    通过SQL绘制杨辉三角
    通用分页存储过程(SQL Server 2005)
    重新组织和重新生成索引sp_RefreshIndex
  • 原文地址:https://www.cnblogs.com/gne-hwz/p/7691109.html
Copyright © 2020-2023  润新知