当我尝试使用-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上。
预先感谢您的帮助!
答案 0 :(得分:0)
-cp参数必须在javac中的源文件名之前以及在Java中的类名和应用程序参数之前。请参考java和javac的手册条目。 –斯蒂芬·C
谢谢!这确实是我做错的。