最近,我不得不将Spring Boot应用程序部署为Windows服务,并且对使用winsw如此容易感到惊讶。 我之前曾写过关于使用procrun – Java程序作为Windows服务的文章 ,但是winsw更加容易
入门
Spring Boot文档的第59节是有关安装Spring Boot应用程序的 ,并指向github页面 。 本示例使用该项目作为灵感。
项目
我将以Spring IO“服务Web内容”项目作为起点,因此请转到网页并从git或zip文件下载示例。
然后,我们可以看到我们的应用程序正在运行–
包装为Windows服务
- 从github下载winsw –记住要根据运行的.net版本选择正确的版本
- 创建Windows服务目录并将exe复制到此位置
- 我将gs-serving-web-content-0.1.0.jar重命名为gs-serving-web-content.jar
- 将Winsw exe从WinSW.NET4.exe重命名为gs-serving-web-content.exe
- 创建一个名为gs-serving-web-content的xml文件。 具有以下内容的xml –
<?xml version="1.0" encoding="UTF-8"?>
<service><id>gs-serving-web-content</id><name>gs-serving-web-content</name><description>gs-serving-web-content Windows Service</description><executable>java</executable><arguments>-jar "gs-serving-web-content.jar"</arguments><logmode>rotate</logmode>
</service>
- 然后,我们可以使用gs-serving-web-content.exe安装程序进行安装(您可能需要以管理员身份运行)
- 然后,我们可以将其作为Windows服务运行–
Windows服务
- 要卸载,我们运行– gs-serving-web-content.exe卸载
备择方案
我将procrun视为Spring Boot的替代包装–但无法使其正常工作。 它可能可以-但需要更多时间。
结论
我对Winsw印象深刻,因为它将Spring Boot应用程序安装为Windows服务。 它非常简单,您可以通过xml配置传递外部application.properties文件
翻译自: https://www.javacodegeeks.com/2017/12/spring-boot-windows-service-5-minutes.html