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 Code\SVN2013\Eagle\Code\AA\build\classes\com\zwh\AATest.class在这个目录下

如果想要在D:盘执行

cd ../..

d:

java -classpath D:\Source Code\SVN2013\Eagle\Code\AA\build\classes AATest
-classpath用与指定所要执行的类所在路径

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

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

  在命令行这里会将Code\SVN2013\Eagle\Code\AA\build\classes识别为要执行的类名。

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

方法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。

 

转载于:https://www.cnblogs.com/gne-hwz/p/7691109.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值