Windows部署Jar包的三種方式圖文詳解
1、cmd命令啟動
這種方式比較簡單,但是窗口關(guān)閉后服務也就被殺死了,命令如下
java -jar xxx.jar
2、bat腳本啟動
2.1 啟動jar包
新建一個bat腳本,內(nèi)容如下:
@echo off %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit java -jar F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar > imApiLog.log 2>&1 & exit
其中F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar
是我jar包的絕對路徑,imApiLog.log
將日志存儲到該文件。右鍵該bat文件以管理員方式運行即可。
注:聽大佬超的,bat文件路徑不要有空格,jar包路徑別有中文,否則會出現(xiàn)Error: Unable to access jarfile。
2.2 關(guān)閉服務
根據(jù)項目的端口號,查看端口進程,然后殺死進程即可
netstat -ano|findstr 8088 # 根據(jù)端口號查進程 taskkill /f /pid 13968 # 根據(jù)進程id殺進程(/f:強制結(jié)束該進程以及所有子進程)
以上兩種方式都有點不太利于后期維護,請接著往下看。
3、使用WinSW
地址:https://github.com/winsw/winsw/releases,我這里選擇v2.12.0版本。下載WinSW-x64.exe(根據(jù)自己的系統(tǒng)版本選擇)和sample-minimal.xml,如下
sample-minimal.xml 是一個最小配置的示例,sample-allOptions.xml 是一個全部可配置參數(shù)的示例。
3.1 重命名
為了方便,首先將exe和xml文件放到和jar包一個目錄,并根據(jù)自己需要進行重命名,如下
3.2 xml配置
<service> <!-- 服務唯一ID --> <id>imApiId</id> <!-- 服務名稱--> <name>imApiService</name> <!-- 服務描述--> <description>this is im api,author:chaodev</description> <executable>java</executable> <arguments>-jar imApi.jar</arguments> <!-- 開機啟動 --> <startmode>Automatic</startmode> <!-- 日志配置 --> <logpath>%BASE%\logs</logpath> <logmode>rotate</logmode> </service>
參數(shù)說明如下:
- id:安裝windows服務后的服務ID,必須是唯一的。
- name:服務名稱,也必須是唯一的。
- executable:執(zhí)行的命令,如啟動命令java。
- arguments:命令執(zhí)行參數(shù),如指定虛擬機參數(shù),配置文件路徑等。
- startmode:啟動模式,如開機啟動Automatic。
- logpath:日志路徑,%BASE%代表相對路徑,也就是當前目錄。
3.3 安裝服務
切換到exe所在目錄,執(zhí)行如下命令
imApiService.exe install #根據(jù)自己exe文件名稱修改
安裝后即可在系統(tǒng)服務里找到該服務,如下
3.4 卸載服務
利用uninstall命令即可,如下
imApiService.exe uninstall
3.5 啟動和停止服務
除了直接在系統(tǒng)服務界面手動點擊控制啟動停止外,還可使用如下命令
xxx.exe start #啟動服務 xxx.exe stop #停止服務 xxx.exe restart #重啟服務 xxx.exe status #查看狀態(tài)
如下
總結(jié)
到此這篇關(guān)于Windows部署Jar包的三種方式的文章就介紹到這了,更多相關(guān)Windows部署Jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決SpringBoot項目使用多線程處理任務時無法通過@Autowired注入bean問題
這篇文章主要介紹了SpringBoot項目使用多線程處理任務時無法通過@Autowired注入bean問題的解決方法,需要的朋友可以參考下2018-09-09SpringBoot通過@Value實現(xiàn)給靜態(tài)變量注入值詳解
這篇文章主要介紹了springboot如何通過@Value給靜態(tài)變量注入值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Caused by: java.lang.ClassNotFoundException: org.apache.comm
這篇文章主要介紹了Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決
這篇文章主要介紹了SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09