- 使用工具:Winsw.exe
- 下载地址: Winsw.exe
根据操作系统版本选择即可
- Winsw配置文件(截图的为开源的两个示例配置文件,上面是完整版下面是简单示例)
<service>
<!--服务id(唯一) -->
<id>testserver</id>
<!--服务名称 -->
<name>testserver</name>
<description>服务描述</description>
<!--局部环境变量-->
<env name="TEST_APP_HOME" value="%BASE%"/>
<!--启动执行命令,下述为以jar为例,jdk没有配置环境变量则需要应用java位置,配置了此处直接写java即可-->
<executable>"%BASE%\jre\bin\java"</executable>
<!--运行参数-->
<arguments>-Xms64m -Xmx128m -jar "%BASE%\test.jar" --server.port=8083</arguments>
<!--停止服务执行命令(可不配置) >
<stopexecutable>%BASE%\stop.exe</stopexecutable>
<!--停止服务执行命令参数(可不配置) >
<stoparguments>-stop true</stoparguments>
<startmode>Automatic</startmode>
<!-- 延迟启动,表示在所有开机马上启动的服务启动之后再启动,与startmode Automatic搭配使用(可不配置) -->
<delayedAutoStart>true</delayedAutoStart>
<!--启动失败再次启动时间 -->
<onfailure action="restart" delay="10 sec"/>
<!--日志输出地址 -->
<logpath>%BASE%\log</logpath>
<!-- 设置日志模式为按文件大小和时间滚动 -->
<log mode="roll-by-size-time">
<!-- 日志文件大小为10240kb生成新日志文件 -->
<sizeThreshold>10240</sizeThreshold>
<!-- 设置日志文件名按时间的格式 -->
<pattern>yyyyMMdd</pattern>
<!-- 设置每天按时间滚动日志的时间 -->
<autoRollAtTime>00:00:00</autoRollAtTime>
<!-- 文件保留天数(需要autoRollAtTime同时使用) -->
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<!-- <zipDateFormat>yyyyMMdd</zipDateFormat> -->
</log>
</service>
- 下载好Winsw.exe并编辑好xml配置文件后,将他们放在同一目录下,并将名称改成一致
最后运行安装命令即可,比如我这里需要在当前文件夹windows控制台执行如下命令
test.exe install
提示成功后即可前往系统服务管理中启动服务(若有异常可查看配置的日志输出文件中日志)