1. 程式人生 > >可執行jar包隨系統啟動使用bat方式和winsw方式

可執行jar包隨系統啟動使用bat方式和winsw方式

想讓自己製作的jar包跟隨系統啟動而啟動有兩種方式: 1、製作bat檔案 將啟動命令放入其中,然後將bat的快捷方式放入系統啟動目錄,具體如下 如我有一個spring boot製作的jar包 放在了D:\developsoft\JDK\cloudterm.jar 的位置,另外本機有多個JDK 此jar包執行的JDK版本偏高,我不想設定環境變數 則 批處理指令碼如下

cd d: 
cd D:\developsoft\JDK\jdk1.8.0_131\bin
java -Dfile.encoding=utf-8 -jar D:\developsoft\JDK\cloudterm.jar

其中 -Dfile.encoding=utf-8 是解決 springboot 打包常見的 亂碼問題 可以直接切換到 jdk bin目錄下執行 具體路徑位置的jar包 然後把此bat指令碼 建立 快捷方式 放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 即可

此方法不必依賴任何系統庫缺點是 會有控制檯,不過我本人挺喜歡控制檯開著的.只是怕被別人隨手關掉.

2、採用winsw製作成系統服務, 具體如下 github 下載

  1. 將WinSW.exe檔案複製到java程式所在資料夾中。
  2. 將java程式重新命名,去掉名稱中的“.”。例如test-1.0.jar ----> test.jar
  3. 將WinSW.exe重新命名為與jar包名稱一樣 如 test.exe
  4. 新建一個xml檔案,命名為與jar包名稱一樣 如test.xml,寫入以下內容
<configuration>
 
 <!-- ID of the service. It should be unique accross the Windows system-->
<id>Tomcat8forULP</id> <!-- Display name of the service --> <name>Tomcat8forULP</name> <!-- Service description --> <description>Tomcat8forULP</description> <!-- Path to the executable, which should be started --> <executable>java</
executable
>
<arguments> -jar "%BASE%\mrps-web.jar"</arguments> <log mode="append"> <!-- <setting1/> <setting2/> --> </log> </configuration>

其中 如果jdk沒有配置環境變數 可以在內寫入完整的 java命令的路徑 如 D:\developsoft\JDK\jdk1.8.0_131\bin\java 內可以寫入任意引數 如我這裡就寫入了 -Dfile.encoding=utf-8 -jar “D:\developsoft\JDK\cloudterm.jar”

裡面配置日誌的等級和目錄,一般不需要配置,預設會在安裝目錄

然後 以管理員身份開啟 cmd cd到此目錄下 執行重新命名後的exe檔案 如 test.exe install 即可安裝服務成功 解除安裝服務 test.exe uninstall