使用winsw部署spring boot jar 項目

參考:用winsw讓任何Windows程序都能運行爲服務html

簡介
在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。linux

安裝使用git

下載地址:https://github.com/kohsuke/winsw/releases
winsw的使用比較簡單。從github上下載:winsw下載,要下載的文件有兩個:1.winsw.exe程序;2.xml配置文件。github

我下載的是最新版本的WinSW.NET4.exe和sample-minimal.xml。下載完成後,將下載的兩個文件及springboot項目的jar包放在同一個文件夾中。spring

須要將winsw執行程序跟xml改爲一樣的名字,推薦使用項目名+Service的命名方式,shell

好比:WinSW.NET4.exe改爲 myProjectService.exe,sample-minmal.xml 改爲myProjectService.xml。windows

 編輯myProjectService.xml文件,配置以下圖:springboot

配置完成後,命令行進入winsw所在的文件夾,執行添加服務命令spring-boot

myProjectService.exe install

其中myProjectService是你修改後的名稱。spa

注意:命令提示符界面要用管理員權限進入,不然安裝服務會失敗,提示「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

相關文章
相關標籤/搜索