2012-02-27 33 views
-2

我在NetBeans中創建了一個簡單的java swing程序。完成代碼後,我執行「Clean and Build Main Project」並獲取一個jar文件。Jar在另一臺計算機上工作,不是創建它的人

然後我嘗試運行它,我得到「無法找到主類」但是當我通過控制檯運行它時,它工作正常。所以我複製了NetBeans創建的所有文件,並將它們放在閃存驅動器上,並將它們帶到筆記本電腦上。我在筆記本電腦上看到了相同的消息,所以我查看了manifest.mf。我在主類中添加了該行,並且它的位置在哪裏,實際上它工作正常。我會雙擊罐子,它完美地工作。

所以我想我可以回到創建該項目的計算機上,並做出完全相同的更改,它將起作用。我錯了,我再次得到「無法找到主類」錯誤。

我真的不明白這一點,因爲以下內容:

兩臺計算機都運行Windows 7

兩臺計算機都運行Java相同版本的

兩臺電腦具有與jar文件相同的EXACT相同的目錄

兩臺計算機具有完全相同的文件,包括MANIFEST.MF

的電腦都在環境變量部分相同的路徑和類路徑

它只是似乎非常奇怪的是,電腦我創造了這個節目與不能通過雙擊運行它,但另一個可以。 計算機上是否有其他設置可能會阻止它通過雙擊運行該jar?

編輯:通過更新到最新的Java得到修復的「找不到主類」錯誤。我只是通過壓縮文件夾在另一臺臺式電腦上測試它,並通過雙擊運行良好。我可以在控制檯上運行jar(在原始pc上),但是當我雙擊鼠標時,光標變爲等待符號半秒鐘,然後停止,沒有其他事情發生。 Java版本相同,路徑相同,並且Java文件正在被Java(TM)Platform SE二進制文件打開。有什麼我失蹤?

回答

1

不是答案,你完成了嗎?

你必須設置主類在項目屬性

enter image description here

請忽略值在VM選項

+0

是啊,這可能是它...但是,如果你試圖運行中的NetBeans它要求項目Netbeans記住它的主要類是什麼...... – Chan 2012-02-27 14:46:23

+0

Main類在項目屬性中設置,就像它在manifest.mf中聲明的一樣。 – Izodness 2012-02-27 15:41:10

0

是否安裝諾基亞Ovi套件...?
如果是,那麼你必須啓動jar文件與的Java(TM)平臺SE二進制 .....

+0

不,我沒有安裝諾基亞ovi套件,並且計算機打開罐子的默認程序是Java(TM)Platform SE二進制文件。 – Izodness 2012-02-27 16:12:29

相關問題