在终端上使用-classpath不起作用

时间:2019-12-29 21:47:38

标签: java command-line classpath

当我尝试使用-classpath选项时,无法执行任何程序。

我可以用它编译

javac FirstClass.java -cp C:\Users\pierr\Desktop\Isitgonnawork

但是执行时,

java FirstClass -cp .;C:\Users\pierr\Desktop\Isitgonnawork

我收到此异常:

    Exception in thread "main" java.lang.NoClassDefFoundError: StdOut
        at FirstClass.main(FirstClass.java:5)
Caused by: java.lang.ClassNotFoundException: StdOut
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

当类路径是一个jar文件,并且它是一个包含Java文件的简单目录时,也会发生这种情况。

奇怪的是,当我在Windows的CLASSPATH环境中放置目录/ jar文件的路径时,我可以毫无问题地进行编译和运行,但是不使用-classpath选项...

我在Windows上。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

-cp参数必须在javac中的源文件名之前以及在Java中的类名和应用程序参数之前。请参考java和javac的手册条目。 –斯蒂芬·C

谢谢!这确实是我做错的。