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文件以管理員方式運行即可。
注:聽大佬超的,bat文件路徑不要有空格,jar包路徑別有中文,否則會出現(xiàn)Error: Unable to access jarfile。
2.2 關(guān)閉服務(wù)
根據(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>
<!-- 服務(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>
<!-- 開機啟動 -->
<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ù),如指定虛擬機參數(shù),配置文件路徑等。
- startmode:啟動模式,如開機啟動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ù)界面手動點擊控制啟動停止外,還可使用如下命令
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的父級依賴:spring-boot-starter-parent詳解
SpringBoot通過父級依賴spring-boot-starter-parent實現(xiàn)項目快速構(gòu)建,它依賴于spring-boot-dependencies來統(tǒng)一管理項目中的依賴版本,省去了手動指定版本信息的麻煩,這種機制不僅規(guī)定了默認的Java版本和編碼格式2024-09-09
SpringCloud持久層框架MyBatis Plus的使用與原理解析
MyBatisPlus為MyBatis的增強版,專注于簡化數(shù)據(jù)庫操作,提供自動化CRUD、內(nèi)置分頁和樂觀鎖等功能,極大提升開發(fā)效率,在SpringCloud微服務(wù)架構(gòu)中,MyBatisPlus通過插件機制和自動生成代碼功能,有效支持企業(yè)級應(yīng)用和分布式系統(tǒng)的開發(fā)2024-10-10
java中instanceof 關(guān)鍵字作用和實際用途詳解
這篇文章主要介紹了java中instanceof 關(guān)鍵字作用和實際用途,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
springboot內(nèi)置tomcat調(diào)優(yōu)并發(fā)線程數(shù)解析
這篇文章主要介紹了springboot內(nèi)置tomcat調(diào)優(yōu)并發(fā)線程數(shù)解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
IDEA啟動Tomcat時控制臺出現(xiàn)亂碼問題及解決
這篇文章主要介紹了IDEA啟動Tomcat時控制臺出現(xiàn)亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

