从命令行运行Java - 无法找到主类
我有一个带有少量.java文件的文件夹:Triangle.java,Circle.java,Square.java等。主要方法在HW1的.java。所有的文件都被设置在包hw1中。从命令行运行Java - 无法找到主类
它在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
时也是如此。当我尝试将整个文件夹放在classpath中时,也是如此。
我在做什么错?
您必须在hw1的父文件夹中使用您的java hw1.HW1
命令,而不是从hw1本身。
它看起来像你使用
package hw1;
在你的java文件的顶部。如果你不需要包,你可以删除该行,在这种情况下,你的
javac HW1.java
java HW1
命令应该工作正常。否则Dici指示使用根文件夹中的java hw1.HW1
应该可以工作。
我建议你阅读这个Oracle文档。
这里是文档链接:“在线程上的Microsoft Windows系统 异常错误消息 ”
主要“ java.lang.NoClassDefFoundError: http://docs.oracle.com/javase/tutorial/getStarted/problems/
据称为HelloWorldApp的 如果收到此错误,java找不到您的字节码文件,HelloWorldApp.class。“