简体   繁体   English

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

[英]Using -classpath on terminal doesn't work

When I try using the -classpath option I cannot execute any program.当我尝试使用 -classpath 选项时,我无法执行任何程序。

I can compile it with我可以编译它

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

but when executing,但在执行时,

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

I get this exception :我得到这个例外:

    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)

This happens when the classpath is a jar file and also when it's a simple directory containing java files.当类路径是 jar 文件并且它是包含 java 文件的简单目录时,就会发生这种情况。

The strange thing is that when I put the path to the directory/jar file in the CLASSPATH environment on Windows, I can compile & run without problem, but not using the -classpath option...奇怪的是,当我将目录/jar文件的路径放在Windows上的CLASSPATH环境中时,我可以毫无问题地编译和运行,但不能使用-classpath选项...

I am on Windows.我在 Windows 上。

Thanks in advance for your help !在此先感谢您的帮助 !

The -cp argument must be before the source filenames in javac and the class name and app arguments in java. -cp 参数必须在 javac 中的源文件名和 java 中的类名和应用程序参数之前。 Please refer to the manual entries for java and javac.请参阅 java 和 javac 的手册条目。 – Stephen C – 斯蒂芬 C

Thanks !谢谢 ! This was indeed what I did wrong.这确实是我做错了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM