2

我试着用谷歌搜索这个,去了 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).

确保;确定。有一个几乎完全一样的问题(“错误名称”的差异)。该问题的解决方案在我的情况下不起作用。

4

3 回答 3

7

您收到“错误名称”错误,因为您的课程在 package 中helloworld。Java 希望您在命令行上提供完全限定的类名:

C:\MyJava> java -cp . helloworld.Helloworld

目录结构必须与包结构匹配。这意味着您应该有一个C:\MyJava\helloworld包含类文件的目录Helloworld.class

于 2012-07-24T08:51:39.057 回答
6

您需要告诉它包名(即helloworld):

C:\MyJava> java -cp . helloworld.Helloworld 
于 2012-07-24T08:50:36.603 回答
0

下面的帖子与您的问题相似。我希望它能指导你;

如何从命令行在 Windows 上运行 .class 文件?

于 2012-07-24T08:52:01.213 回答