[英]NoClassDefFoundError running java from the console
当我尝试在终端上的 Linux 上运行 Java 时,会发生以下情况:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class
Caused by: java.lang.ClassNotFoundException: HelloWorldApp.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
谁能帮我这个?
编辑:我在字节码文件的文件夹中并在终端上运行:
bash-4.1$ java class HelloWorldApp
源文件:
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
你正在执行
java HelloWorldApp.class
但它必须是
java HelloWorldApp
您可能不会将类附加到您的调用中,而是将类名命名为普通名称。
此外,正如其他人所说,最好使用包,因为默认包中的类不能正常工作。
你还应该注意,如果你在代码中有包声明,即使你尝试了所有花哨的修复,比如设置 CLASSPATH,它也会把它搞砸。 例如,如果您有:
package blah;
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello world");
}
}
该行:包等等; 编译后会导致java HelloWorld 失败。 所以删除这一行,你应该能够通过 cmd 行运行 src 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.