Java在Eclipse中运行良好,但无法在终端中正常运行

时间:2013-04-15 10:09:31

标签: java noclassdeffounderror

环境:Ubuntu 12.04,JRE 1.6.0

在我的zsh中,即使是简单的hello.java也无法正常运行。 使用javac进行编译时可以,但输入java hello

Exception in thread "main" java.lang.NoClassDefFoundError: hello
Caused by: java.lang.ClassNotFoundException: hello
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)
Could not find the main class: hello.  Program will exit.

3 个答案:

答案 0 :(得分:4)

您的班级名称似乎是helloworld,您试图说java hello

(因此JVM试图找到一个名为hello且不存在的类)

请尝试java -classpath . helloworld

答案 1 :(得分:0)

班级名称为helloworld,您试图说java hello。检查一次

答案 2 :(得分:0)

尝试java helloworld。默认情况下,Java将使用与文件相同的名称进行编译。

所以javac helloworld.java输出helloworld.class,这是你运行字节码所需要的。