[英]How to make a distributable batch file of my jar
嗨,我已經創建了一個Java應用程序並創建了一個jar文件。 然后我創建了一個批處理文件,例如-> startup.bat
。該文件的內容是java -jar MyApp.jar
現在,如果我雙擊批處理文件,則我的Java應用程序可以正常工作,因為jar文件和批處理文件都屬於同一目錄。 現在,我將批處理文件復制到桌面並運行,然后我的應用程序未運行。
另外,我希望我的批處理文件自動設置類路徑。
如何使用上述所有功能創建批處理文件
感謝Sunil Kumar Sahoo
如果jar是可執行的JAR(似乎來自您的示例),則您只需雙擊JAR文件 。 如果這不起作用,則應將java
可執行文件與打開帶有.jar
擴展名的文件的程序相關聯。 從資源管理器窗口中查看“ 工具”>“文件夾選項”>“文件類型” 。
為了使程序“可分發”,通常將其打包(即JAR文件和啟動腳本)在某個ZIP存檔中,然后將其提取到用戶PC上的文件夾中。 您的啟動腳本應提供JAR文件的相對路徑。 例如,如果您已將ZIP的內容組織到lib
和bin
文件夾中:
MyProject
+--- lib (contains jars)
+--- bin (contains .bat script)
在這種情況下, startup.bat
文件應將Jar引用為:
%JAVA_HOME\bin\java -jar ..\lib\myapp.jar
這要求任何用戶:
java
或JAVA_HOME
環境變量 問題在於批處理文件不知道jar所在的位置,而是從其自己的路徑中尋找相對位置。 您也可以將jar文件復制到桌面。
如果只想在桌面上顯示一個圖標,請創建批處理文件的快捷方式,而不是副本。
我了解您想將您的應用程序分發到多台計算機上? 一個(非常)簡單的解決方案是創建一個zip / tar /任何檔案,其中包含所有需要的jar(包括MyApp.jar)和啟動腳本。
在腳本中,您可以使用-cp選項將jar設置為類路徑:
java -cp needed.jar:needed2.jar -jar MyApp.jar
如上所述,創建桌面快捷方式比復制腳本本身更好。
如果您的應用程序非常復雜(大小超過1 + GByte),則還可以使用Aslo-您可以分發包含jre的應用程序。
因為要在此處復制有點長,所以建議您看看Squirrel SQL的功能。 而且您將擁有一個非常不錯的跨數據庫工具,作為額外的獎勵;-)
它們使工具可以通過兩種可能的方式啟動:
所以我會選擇第一個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.