我有一个包含少量.java文件的文件夹:Triangle.java,Circle.java,Square.java等。主要方法是在HW1.java中。所有文件都设置在包hw1中。
它在NetBeans中运行良好,但当我打开它时,它们将从命令行编译它,所以我想确保我可以测试它们将要做什么。
我在Windows 7上,我已经将Java 7添加到了我的类路径中。我转到文件夹,键入javac *.java
,所有.java文件的.class文件都显示正常。
然后我尝试运行该程序。当我输入java HW1
时,我会收到Exception in thread "main" java.lang.NoClassDefFoundError: HW1 (wrong name: hw1/HW1)
。当我输入java hw1/hw1
时,我会收到Error: Could not find or load main class hw1.HW1
。当我输入java hw1.HW1
时也是如此。当我尝试将整个文件夹放入类路径中时,也是如此。
我做错了什么?
答案 0 :(得分:3)
您必须使用hw1父文件夹中的java hw1.HW1
命令,而不是hw1本身。
答案 1 :(得分:0)
看起来你正在使用
package hw1;
位于java文件的顶部。如果您不需要包裹,可以删除该行,在这种情况下,您的
javac HW1.java
java HW1
命令应该可以正常工作。否则,Dici在根文件夹中使用java hw1.HW1
的指示应该有效。
答案 2 :(得分:0)
我建议你阅读这篇Oracle文档。
以下是文档链接: http://docs.oracle.com/javase/tutorial/getStarted/problems/
声明如下:
" Microsoft Windows系统上的错误消息 线程" main"中的例外情况java.lang.NoClassDefFoundError:HelloWorldApp 如果收到此错误,则java无法找到您的字节码文件HelloWorldApp.class。"