2013-01-06 54 views
-1

進出口工作在Ubuntu的。我製作了簡單的使用3個類的GUI應用程序。 Main是包含main方法的Test.class。我已經從控制檯級別將它們全部打包成JAR。現在我有 「kalkulator.jar」,其中包含:的Test.class,MyFrame.class,MyPanel.class和META-INF文件夾中。在META_INf中有MANIFEST.MF。 MANIFEST.MF中的內容是:「Main-Class:Test」和換行符。現在我嘗試從控制檯打開我的JAR: java -jar kalkulator.jar 我得到:「線程中的異常」main「java.lang.NoClassDefFoundError:Test(錯誤的名稱:myproject/Test」) myproject是包我所有的課程。 所以,我怎麼能解決呢?Java的JAR - 例外在線程 「主要」 java.lang.NoClassDefFoundError

+0

什麼是Test.java的 '一攬子' 的語句? – bmargulies

+0

package myproject; –

+0

然後你的清單必須說MainClass:myproject.Test – bmargulies

回答

1

你需要做以下的事情:

  1. 確保在你的JAR的目錄層次結構中的包層次結構相匹配的,絕對。這些類必須位於jar中名爲「myproject」的目錄中。如果他們只是處於頂級水平,它將無法工作。

  2. 讓主類的名稱與主方法的類的全名。 (即myproject.Test)。

  3. 瞭解如何使用一個構建工具,例如螞蟻,做這一切。

+0

謝謝。我沒有正確地說出第一點 –

相關問題