我试着google这个,去了oracle.com并阅读了与此相关的论坛上的所有问题。我写了一个简单的" Helloworld"程序
package helloworld;
public class Helloworld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
NetBeans将源代码编译为.class
文件。我将该文件移至C:\MyJava
我尝试按C:\MyJava> java -cp . Helloworld
运行它以及所有可能的变体。我一直得到NoClassDefFoundError: Helloworld (wrong name: helloworld/Helloworld)
。
确保。这个问题几乎就是这样的("错误的名称"的差异)。该问题的解决方案在我的案例中不起作用。
答案 0 :(得分:7)
您收到“错误的名称”错误,因为您的类位于包helloworld
中。 Java希望您在命令行上提供完全限定的类名:
C:\MyJava> java -cp . helloworld.Helloworld
目录结构必须与包结构匹配。这意味着您应该有一个包含类文件C:\MyJava\helloworld
的目录Helloworld.class
。
答案 1 :(得分:6)
您需要告诉它包名称(helloworld
):
C:\MyJava> java -cp . helloworld.Helloworld
答案 2 :(得分:0)
以下帖子与您的问题类似。我希望它能指导你;