2014-09-05 120 views
0

我有一個帶有少量.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中時,也是如此。

我在做什麼錯?

回答

3

您必須在hw1的父文件夾中使用您的java hw1.HW1命令,而不是從hw1本身。

0

它看起來像你使用

package hw1; 

在你的java文件的頂部。如果你不需要包,你可以刪除該行,在這種情況下,你的

javac HW1.java 
java HW1 

命令應該工作正常。否則Dici指示使用根文件夾中的java hw1.HW1應該可以工作。

0

我建議你閱讀這個Oracle文檔。

這裏是文檔鏈接:「在線程上的Microsoft Windows系統 異常錯誤消息 」

主要「 java.lang.NoClassDefFoundError: http://docs.oracle.com/javase/tutorial/getStarted/problems/

據稱爲HelloWorldApp的 如果收到此錯誤,java找不到您的字節碼文件,HelloWorldApp.class。