用途:使用Spring Boot開發(fā)的Web項目奴饮,打包生成了一個jar包纬向,部署在Windows服務器中择浊,設置為開機啟動
其它失敗方案:
1、Spring Boot生成的jar包逾条,可以直接用java -jar運行琢岩,但是前提是需要登錄用戶,而且注銷用戶后會退出程序师脂,所以不可用担孔。
2、使用計劃任務吃警,寫一個bat處理文件攒磨,里面寫java -jar運行程序,然后把bat文件作為一個計劃任務運行汤徽;結(jié)果可能是因為任務啟動時娩缰,系統(tǒng)資源未準備好,所以沒有成功谒府。
最佳方案:使用winsw拼坎,winsw是一個開源項目,程序以及源碼可以在Git Hub下載:
https://github.com/kohsuke/winsw/releases
winsw是一個可以將任何應用程序注冊成服務的軟件完疫,使用方法如下:
1泰鸡、將Git Hub中下載的WinSW.NET4.exe和sample-minimal.xml文件及springboot項目的jar包放在同一個文件夾中。
2壳鹤、需要將winsw執(zhí)行程序跟xml改成同樣的名字盛龄,推薦使用項目名+Service的命名方式,比如:WinSW.NET4.exe改成myProjectService.exe芳誓,sample-minmal.xml改成myProjectService.xml余舶。
3、編輯myProjectService.xml文件匿值,內(nèi)容如下
<configuration>
<!--安裝成Windows服務后的服務名-->
<id>myProjectServiceID</id>
<!--顯示的服務名稱-->
<name>myProjectServiceName</name>
<!--對服務的描述-->
<description>此處可填寫該服務的描述</description>
<!--這里寫java的路徑,如何配置了環(huán)境變量直接寫"java"就行-->
<executable>java</executable>
<!--Xmx256m 代表堆內(nèi)存最大值為256MB -jar后面的是項目名-->
<arguments>-Xmx256m -jar myProject.jar</arguments>
<!--日志模式-->
<logmode>rotate</logmode>
</configuration>
4挟憔、打開系統(tǒng)服務功能:運行——輸入cmd烟号,然后進入到myProjectService.exe所在文件夾绊谭,然后執(zhí)行命令安裝服務命令:myProjectService.exe install。
5汪拥、命令提示符界面輸入命令“net start myProjectServiceName”啟動服務。
6、打開系統(tǒng)服務功能:運行——輸入services.msc鹤树,即可看見自己命名的服務myProjectServiceName。
7逊朽、測試 :重啟電腦后該服務會自動啟動罕伯,執(zhí)行第6步可檢查是否成功。
8叽讳、刪除服務分為兩步:1停止服務;2刪除服務邑狸,都是在命令行界面實現(xiàn)。
命令提示符界面輸入命令"net stop myProjectServiceName"停止運行服務单雾。
命令提示符界面輸入命令"myProjectService.exe uninstall"可刪除服務
9.上面所有的命令都可以寫在批處理文件中硅堆,部署的時候就可以實現(xiàn)一鍵部署了。
例如myProjectStart.bat內(nèi)容如下:
myProjectService.exe install
net start myProjectServiceName
例如myProjectStop.bat內(nèi)容如下:
net stop myProjectServiceName
myProjectService.exe uninstall
10.如果沒有成功可以查看日志找原因渐逃,日志文件在同級目錄:
最后民褂,本文如有疏忽錯誤,請指教