我是Java新手。我一直在使用Eclipse测试一个简单的Java类(名为NewHelloWorld),它在控制台中运行良好。当我尝试从终端执行相同的操作时,它会正确编译(创建HelloWorld.class而不给出任何错误),但是随后java NewHelloWorld显示以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: NewHelloWorld (wrong name: org/kodeplay/kodejava/NewHelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: NewHelloWorld. Program will exit.


我也试过java -classpath . NewHelloWorld,但给出相同的错误也无法正常工作。

这些是环境变量的值:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
CLASSPATH="/usr/lib/jvm/java-6-openjdk/lib:."


还有其他要求吗?或者我在这里错过了什么吗?
谢谢

PS:使用Ubuntu 10.04桌面

最佳答案

错误的名称:org / kodeplay / kodejava / NewHelloWorld


cd到程序包的根目录,这样您就位于包含org文件夹的文件夹中,然后执行

java -cp . org.kodeplay.kodejava.NewHelloWorld

09-04 22:50