簡體   English   中英

可執行 jar 在其他計算機上不起作用

[英]Executable jar not working on other computers

我使用Eclipse創建了一個程序並導出為executable jar (我已經嘗試了所有 3 個庫處理選項)。 它在編寫和導出它的計算機上完美運行,但是當我嘗試在其他機器上運行它時,它什么也沒做。 它沒有帶來任何錯誤,什么都沒有。 我有幾個人為我嘗試它,但沒有運氣,我嘗試在我的筆記本電腦上運行它(確保 Java 是最新版本,與編寫它的機器相同)。 MANIFEST文件正確指向 Main 類。

有誰知道我該如何解決這個問題?

真是令人沮喪! 如果需要更多信息,我可以提供。

當我開始編寫 Java 分布式應用程序時,這種情況發生在我身上很多次。

檢查您的項目構建路徑(因為您使用的是 eclipse,所以右鍵單擊您的項目文件夾,然后構建路徑 > 配置構建路徑)。 如果其中指定的任何路徑是自定義 *ie C:\User\daMachineMaster\Java\jre\bin或其他任何路徑,它將無法在任何其他機器上運行,因為應用程序將始終查找該路徑,這將不會t 存在於daMachineMaster的計算機之外的其他機器中。 例如,您可以使用包裝器來解決此問題,因為它將所有需要的信息封裝在 .exe 中。

如果這仍然不是您的問題,請在您的代碼中搜索任何指向本地目錄的鏈接。 例如,

String style = main.screens.ScreenFramework.class.getResource("C:\Users\Dwayne\Music\cool\DarkTheme.css");

找到這些類型的硬鏈接后,解決方案是將它們更改為相對鏈接。 檢查如何在java中定義相對路徑

在上述情況下,這意味着更改為:

String style = main.screens.ScreenFramework.class.getResource("DarkTheme.css").toExternalForm();

另外,如其他答案中所述,請檢查其他計算機是否安裝了 java。 我認為他們不需要定義任何環境變量來運行可運行的 jar,但是如果您想在命令行中使用java -jar yourapp.jar之類的東西運行您的應用程序,那么您需要轉到 Windows 資源管理器(假設您重新使用 Windows),右鍵單擊計算機,然后單擊高級系統設置 > 環境變量 > 新建... > 變量名 = JAVA_HOME; 變量值 =安裝 java 的目錄> 確定 > 單擊 PATH > 編輯... > 將 JAVA_HOME\bin 添加到 PATH > 確定

未安裝 Java 運行時環境 (JRE) 時,JAR 將不會打開並且不會顯示任何消息。 嘗試將 JRE 安裝到另一台計算機中,然后重試。

您需要先安裝Java 運行時環境 (JRE) ,然后才能直接在計算機上運行.jar文件。 Java Development Kit (JDK) 下載包包含它對應的 JRE,所以也可以安裝。

這么晚才回復很抱歉。 感謝您的所有回答,但事實證明我的代碼中有一個錯誤,只是停止了它的運行而沒有顯示任何錯誤。

我多次遇到這個問題。 問題是 jar 文件在我打包的計算機上運行。 但是在另一台計算機上它沒有運行,如果我在 cmd 中檢查 javaw.exe 進程但沒有提供任何服務,有時它會顯示運行。 這里的解決方案是確保正確設置以下內容。

  1. 確保另一台計算機中的 java 版本與 jar 文件匹配。 在某些情況下,如果您在 pom 文件中定義了 java16,請確保計算機安裝了 java16 或更高版本,並且 JAVA_HOME 環境設置正確以指向此版本。
  2. 確保因變量設置正確。 例如,如果軟件包依賴於數據庫驅動程序或數據庫連接,請考慮安裝和創建數據庫

對我來說,在將 pom 文件中的 java 版本更改為最奇怪的 ie 后它起作用了。第二台計算機使用 java 16,然后打包 jar 文件以使用 java 11。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM