Java jar 在Windows上運行的方法


  本文列出Java jar包在windows系統上運行的三種方式。

 

CMD命令行方式運行

  這種方式非常簡單,打開cmd窗口,輸入如下命令即可:

java -jar test.jar

 

使用批處理腳本運行

  使用cmd命令行方式雖然很簡單,但是每次都要打開cmd窗口再輸入命令,還是有些麻煩,可以寫個批處理腳本來代替。先創建個bat文件,比如:run.bat,輸入下面幾行:

@echo off
start javaw -jar C:\Users\samsung\Desktop\test.jar
exit

  保存后,雙擊運行即可。

  其中,@echo off: 當執行失敗的時候,不打印失敗信息,根據自己需要選用。

 

作為Windows服務在后台運行

  Java jar 作為Windows服務在后台運行需要借助於第三方工具,常用的是JavaService.exe這個工具,下載地址:http://download.forge.ow2.org/javaservice,64位系統(Java也是64位的)的話必須下載64位版本,比如:JavaService_2_0_10-amd64.zip。

  要以Windows服務方式運行需要先注冊Windows服務,然后才能啟動服務。

 

  注冊服務

  下載的壓縮包解壓后即可使用,打開CMD窗口,進入JavaService.exe所在目錄,輸入如下命令:

JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M -start org.springframework.boot.loader.JarLauncher

  顯示如下結果即為注冊成功:

C:\Users\samsung\Desktop>JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll 
-Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M
-start org.springframework.boot.loader.JarLauncher
The test automatic service was successfully installed

  參數解釋:

  -install test:指定服務名,當前注冊的服務名為:test;
  -Djava.class.path=C:\Users\samsung\Desktop\test.jar:指定jar包的路徑;
  -start org.springframework.boot.loader.JarLauncher:指定啟動類,即 main 函數所在類,需要帶上包名。

 

注銷服務

  注銷服務輸入如下命令:

JavaService.exe -uninstall test

  顯示如下結果即為注銷成功:

C:\Users\samsung\Desktop>JavaService.exe -uninstall test
Successfully uninstalled service test

 

啟動服務

C:\Users\samsung\Desktop>net start test
test 服務正在啟動 .
test 服務已經啟動成功。

 

關閉服務

C:\Users\samsung\Desktop>net stop test
test 服務正在停止.
test 服務已成功停止。

 

注意事項:
  1. 選擇正確的JavaService.exe版本,根據自己的實際情況選擇下載32位或64位版本。
  2. 啟動類類名必須正確,比如springboot項目,其啟動類為:org.springframework.boot.loader.JarLauncher。

  上述兩點需要注意,如果不對的話會導致服務可以注冊但無法啟動的問題,報錯如下:

C:\Users\xxx\Desktop\JavaService-2.0.10>net start test
test 服務正在啟動 .
test 服務無法啟動。

服務沒有報告任何錯誤。

請鍵入 NET HELPMSG 3534 以獲得更多的幫助。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM