Windows部署Jar包的三種方式圖文詳解
1、cmd命令啟動(dòng)
這種方式比較簡(jiǎn)單,但是窗口關(guān)閉后服務(wù)也就被殺死了,命令如下
java -jar xxx.jar
2、bat腳本啟動(dòng)
2.1 啟動(dòng)jar包
新建一個(gè)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包的絕對(duì)路徑,imApiLog.log
將日志存儲(chǔ)到該文件。右鍵該bat文件以管理員方式運(yùn)行即可。
注:聽(tīng)大佬超的,bat文件路徑不要有空格,jar包路徑別有中文,否則會(huì)出現(xiàn)Error: Unable to access jarfile。
2.2 關(guān)閉服務(wù)
根據(jù)項(xiàng)目的端口號(hào),查看端口進(jìn)程,然后殺死進(jìn)程即可
netstat -ano|findstr 8088 # 根據(jù)端口號(hào)查進(jìn)程 taskkill /f /pid 13968 # 根據(jù)進(jìn)程id殺進(jìn)程(/f:強(qiáng)制結(jié)束該進(jìn)程以及所有子進(jìn)程)
以上兩種方式都有點(diǎn)不太利于后期維護(hù),請(qǐng)接著往下看。
3、使用WinSW
地址:https://github.com/winsw/winsw/releases,我這里選擇v2.12.0版本。下載WinSW-x64.exe(根據(jù)自己的系統(tǒng)版本選擇)和sample-minimal.xml,如下
sample-minimal.xml 是一個(gè)最小配置的示例,sample-allOptions.xml 是一個(gè)全部可配置參數(shù)的示例。
3.1 重命名
為了方便,首先將exe和xml文件放到和jar包一個(gè)目錄,并根據(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> <!-- 開(kāi)機(jī)啟動(dòng) --> <startmode>Automatic</startmode> <!-- 日志配置 --> <logpath>%BASE%\logs</logpath> <logmode>rotate</logmode> </service>
參數(shù)說(shuō)明如下:
- id:安裝windows服務(wù)后的服務(wù)ID,必須是唯一的。
- name:服務(wù)名稱,也必須是唯一的。
- executable:執(zhí)行的命令,如啟動(dòng)命令java。
- arguments:命令執(zhí)行參數(shù),如指定虛擬機(jī)參數(shù),配置文件路徑等。
- startmode:?jiǎn)?dòng)模式,如開(kāi)機(jī)啟動(dòng)Automatic。
- logpath:日志路徑,%BASE%代表相對(duì)路徑,也就是當(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 啟動(dòng)和停止服務(wù)
除了直接在系統(tǒng)服務(wù)界面手動(dòng)點(diǎn)擊控制啟動(dòng)停止外,還可使用如下命令
xxx.exe start #啟動(dòng)服務(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無(wú)法通過(guò)@Autowired注入bean問(wèn)題
這篇文章主要介紹了SpringBoot項(xiàng)目使用多線程處理任務(wù)時(shí)無(wú)法通過(guò)@Autowired注入bean問(wèn)題的解決方法,需要的朋友可以參考下2018-09-09SpringBoot通過(guò)@Value實(shí)現(xiàn)給靜態(tài)變量注入值詳解
這篇文章主要介紹了springboot如何通過(guò)@Value給靜態(tài)變量注入值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07SpringBoot 返回Json實(shí)體類屬性大小寫的解決
這篇文章主要介紹了SpringBoot 返回Json實(shí)體類屬性大小寫的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Caused by: java.lang.ClassNotFoundException: org.apache.comm
這篇文章主要介紹了Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type異常,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法
這篇文章主要介紹了Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-03-03SpringBoot 配置文件中配置的中文,程序讀取出來(lái)是亂碼的解決
這篇文章主要介紹了SpringBoot 配置文件中配置的中文,程序讀取出來(lái)是亂碼的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09