我从命令行运行编译的java代码时遇到一些问题.我已经编写了它并使用IntelliJ IDE编译它(如果在IDE中完成,一切运行正常),但希望现在从命令行运行它.
从命令编译(使用javac)也可以正常工作,但运行(使用java)则不行.
我几乎可以肯定这是一个类路径问题,但似乎无法解决它.从我在发布之前的搜索中我发现了一个帖子告诉我运行"set PATH = \%PATH \%;"C:\ Program Files\Java\jdk1.6.0_21\bin"命令,然后尝试运行java.我我也尝试过为-cp和-classpath找到的各种争论.错误是:
Exception in thread "main" java.lang.NoClassDefFoundError: Share/class
Caused by: java.lang.ClassNotFoundException: Share.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: Share.class. Program will exit.
Run Code Online (Sandbox Code Playgroud)
你在做:
java -cp ... Share.class
Run Code Online (Sandbox Code Playgroud)
做
java -cp ... Share
Run Code Online (Sandbox Code Playgroud)
或者如果它在一个包中
java -cp ... path.to.Share
Run Code Online (Sandbox Code Playgroud)
您不应该将类文件作为参数提供,您应该提供完全限定的类名.
如果您的类在当前目录中并使用默认(空)包,那么它就是
java -cp . Share
Run Code Online (Sandbox Code Playgroud)
要么
java Share
Run Code Online (Sandbox Code Playgroud)
该路径并不用于指向Java可执行文件,它是用来指向包含类文件(在封装结构的根)的各种目录/ jar文件.
java)| 归档时间: |
|
| 查看次数: |
1864 次 |
| 最近记录: |