前言
大多数情况下,都是选用Linux作为服务器部署服务,在Linux中通过以下命令运行
nohup java -jar xxxxx-1.0-SNAPSHOT.jar
但是有时由于其他原因,或本地测试,或云服务器使用Windows server等等,需要在Windows上面运行jar包,这就需要其他方法,大多数方法都是用过一些工具把jar包打为Windows服务运行。
winsw简介
Winsw是一个用于将任何可执行文件注册为Windows服务的工具。它通过XML配置文件来定义服务的基本属性,如服务ID、显示名称、描述、可执行文件路径等。Winsw支持多种启动模式,包括Automatic、Manual、Disabled等,并且可以配置服务的依赖关系和其他高级选项。此外,它还提供了日志记录和错误处理机制,确保服务能够稳定运行。
下载地址:winsw
将sample-minimal.xml
和 WinSW.NET461.exe
改为project-server-0.0.1.xml
和project-server-0.0.1.exe
,
文件名保持一致,方便后续操作
注意:(jar包、.exe文件、.xml文件均在同一目录下)
修改test-0.0.1.xml文件
<configuration>
<!-- ID of the service. It should be unique accross the Windows system-->
<!--服务ID:启动、关闭、删除服务时,都是通过ID来操作的-->
<id>project-server-jar</id>
<!-- Display name of the service -->
<!--服务名称-->
<name>project-server-jar</name>
<!-- Service description -->
<!--服务描述-->
<description>描述...</description>
<!--当前电脑配置了java环境变量,直接写成“java”就行;你也可以写成类似这样:D:\develop\jdk1.8\jre\bin\java-->
<executable>java</executable>
<!--启动参数-->
<arguments>-jar project-server-0.0.1.jar</arguments>
<!-- 日志地址 -->
<logpath>%BASE%\log</logpath>
<!-- 日志模式 -->
<logmode>rotate</logmode>
</configuration>
先使用命令注册服务:
project-server-0.0.1.exe install
然后启动,就是xml里面配置的服务名:
net start project-server-jar
可以使用win + R输入services.msc进入系统服务,找到自己的服务名称,然后设置启动。
以上大部分内容转自:使用winsw将jar以windows服务的方式运行-腾讯云开发者社区-腾讯云