使用winsw部署spring boot jar 項目
參考:用winsw讓任何Windows程序都能運行為服務
簡介
在linux下部署springboot項目是一件很簡單的事,直接後臺運行就行了,最多寫個shell腳本開機自啟就行了。我們最近做的項目需要在windows上部署,在windows上運行jar有一個問題,運行的時候會彈出一個cmd窗口,並且不能關閉,關閉的話程序就停止了。spring官方推薦使用winsw來將springboot項目作為服務運行,參考https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#deployment-windows。
安裝使用
我下載的是最新版本的WinSW.NET4.exe和sample-minimal.xml。下載完成後,將下載的兩個文件及springboot項目的jar包放在同一個文件夾中。
需要將winsw執行程序跟xml改成同樣的名字,推薦使用項目名+Service的命名方式,
比如:WinSW.NET4.exe改成 myProjectService.exe,sample-minmal.xml 改成myProjectService.xml。
編輯myProjectService.xml文件,配置如下圖:
配置完成後,命令行進入winsw所在的文件夾,執行添加服務命令
myProjectService.exe install
其中myProjectService是你修改後的名稱。
註意:命令提示符界面要用管理員權限進入,否則安裝服務會失敗,提示“WMI Operation failure: AccessDenied”
進入服務界面,可以看到myProject服務已經生成了:
命令提示符界面-啟動服務。
net start myProject
刪除服務
刪除服務分為兩步:1停止服務;2刪除服務,都是在命令行界面實現。
停止運行服務。
net stop myProject
刪除服務。
myProjectService.exe uninstall
最後
上面所有的命令都可以寫在批處理文件中,部署的時候就可以實現一鍵部署了。
將命令寫在批處理文件中,希望將批處理文件默認為管理員權限打開,可以在批處理文件的開頭寫上:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
轉載:https://blog.csdn.net/qq_28566071/article/details/80882503
使用winsw部署spring boot jar 項目