Windows部署Jar包的三種方式圖文詳解
1、cmd命令啟動
這種方式比較簡單,但是窗口關(guān)閉后服務(wù)也就被殺死了,命令如下
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文件以管理員方式運(yùn)行即可。
注:聽大佬超的,bat文件路徑不要有空格,jar包路徑別有中文,否則會出現(xiàn)Error: Unable to access jarfile。
2.2 關(guān)閉服務(wù)
根據(jù)項(xiàng)目的端口號,查看端口進(jìn)程,然后殺死進(jìn)程即可
netstat -ano|findstr 8088 # 根據(jù)端口號查進(jìn)程 taskkill /f /pid 13968 # 根據(jù)進(jìn)程id殺進(jìn)程(/f:強(qiáng)制結(jié)束該進(jìn)程以及所有子進(jìn)程)

以上兩種方式都有點(diǎn)不太利于后期維護(hù),請接著往下看。
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ù)自己需要進(jìn)行重命名,如下

3.2 xml配置
<service>
<!-- 服務(wù)唯一ID -->
<id>imApiId</id>
<!-- 服務(wù)名稱-->
<name>imApiService</name>
<!-- 服務(wù)描述-->
<description>this is im api,author:chaodev</description>
<executable>java</executable>
<arguments>-jar imApi.jar</arguments>
<!-- 開機(jī)啟動 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>%BASE%\logs</logpath>
<logmode>rotate</logmode>
</service>參數(shù)說明如下:
- id:安裝windows服務(wù)后的服務(wù)ID,必須是唯一的。
- name:服務(wù)名稱,也必須是唯一的。
- executable:執(zhí)行的命令,如啟動命令java。
- arguments:命令執(zhí)行參數(shù),如指定虛擬機(jī)參數(shù),配置文件路徑等。
- startmode:啟動模式,如開機(jī)啟動Automatic。
- logpath:日志路徑,%BASE%代表相對路徑,也就是當(dāng)前目錄。
3.3 安裝服務(wù)
切換到exe所在目錄,執(zhí)行如下命令
imApiService.exe install #根據(jù)自己exe文件名稱修改

安裝后即可在系統(tǒng)服務(wù)里找到該服務(wù),如下

3.4 卸載服務(wù)
利用uninstall命令即可,如下
imApiService.exe uninstall

3.5 啟動和停止服務(wù)
除了直接在系統(tǒng)服務(wù)界面手動點(diǎn)擊控制啟動停止外,還可使用如下命令
xxx.exe start #啟動服務(wù) xxx.exe stop #停止服務(wù) xxx.exe restart #重啟服務(wù) xxx.exe status #查看狀態(tài)
如下

總結(jié)
到此這篇關(guān)于Windows部署Jar包的三種方式的文章就介紹到這了,更多相關(guān)Windows部署Jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無法通過@Autowired注入bean問題
這篇文章主要介紹了SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無法通過@Autowired注入bean問題的解決方法,需要的朋友可以參考下2018-09-09
SpringBoot通過@Value實(shí)現(xiàn)給靜態(tài)變量注入值詳解
這篇文章主要介紹了springboot如何通過@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
SpringBoot 返回Json實(shí)體類屬性大小寫的解決
這篇文章主要介紹了SpringBoot 返回Json實(shí)體類屬性大小寫的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
Caused by: java.lang.ClassNotFoundException: org.apache.comm
這篇文章主要介紹了Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type異常,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法
這篇文章主要介紹了Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03
SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決
這篇文章主要介紹了SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

