最近我在NetBeans中開發了一個相當簡單的GUI應用程序,並且在我進一步開發之前,我決定在另一臺計算機上測試應用程序,因爲我不知道分發應用程序的很多事情,並且想確保我在做對的。爲什麼我的jar文件在我的電腦上完美工作,但不在另一臺電腦上工作?
在NetBeans中運行良好,當我點擊運行 - >清理並生成項目它創建如預期在我的項目的dist文件夾.jar文件。當我從dist文件夾在我的計算機上運行.jar文件時,它按預期運行。
然後我試圖在另一臺計算機上運行它幾種不同的方式(從閃存驅動器),其中沒有一個工作:
只複製jar文件到我的閃存驅動器,試圖運行它,得到一個錯誤說「找不到主要類:MyApplicationPackage.MyApplication。程序將退出」。
在NetBeans中點擊文件 - >導出項目 - >拉上......和複製的壓縮文件夾到我的閃存驅動器。當我在另一臺計算機上解壓文件時,沒有dist文件夾(我並不真的希望有一個文件夾)。
複製整個項目文件夾到我的閃存驅動器,並嘗試運行在其他計算機上的jar文件,生成相同的錯誤消息。
我怎樣才能讓它在其他計算機上運行?有沒有更簡單的方式來分發應用程序?我不指望普通人知道如何解壓文件,找到dist文件夾,然後運行jar文件。我能否以某種方式將所有內容組合成一個可運行的文件?
編輯:我自己找到了解決方案:其他計算機上的java版本不是當前版本。爲了使應用程序運行,我打開了項目的屬性窗口,在「Sources」選項卡下,在底部附近有一個選項,顯示「源/二進制格式」。將它更改爲早期版本的Java讓它可以在其他計算機上運行。另一個(也是更好的)選項是在另一臺計算機上升級到當前版本的Java。
我打開jar文件,7-ZIP,發現其中包含以下MANIFEST.MF文件中:Manifest-版本: 1.0 Ant-Version:Apache Ant 1.8.3 創建者:1.7.0-b147(Oracle Corporation) 類路徑: X-COMMENT:Main-Class將通過build 自動添加Main-Class:MyApplicationPackage.MyApplication因此,MANIFEST.MF文件確實指出了主類的位置。我不知道Maven是什麼,或者你發佈的代碼是什麼意思,你能解釋你對我的問題的迴應嗎?並且我很抱歉不知道如何在此評論中添加換行符以使其更具可讀性。 –