最近需要临时用到Windows充当服务器的功能,因此需要在Windows上来启动Java服务,之前在Linux服务器上是通过配置system系统服务或者通过启动脚本来完成,同理在Windows上也可以通过这两种方式来完成。
一、通过脚本来启动
1.1 可以通过在jar包的所在目录下面打开cmd窗口,执行java -jar test.jar来进行启动,但是这种方法每次都要通过输入命令的方式来进行启动。
1.2 可以把启动命令配置成脚本来一键执行启动
@echo
e:
cd e:\service-back
#打开E盘下的service-back文件夹
java -jar test.jar
通过这种可以点击bat脚本来进行启动
二、配置成系统服务
上面的两种启动方法原理上是一样的,都是依赖于cmd命令窗口的方式来进行启动,一旦窗口不小心关闭或者电脑关机重启,那么系统也就停止中断了,所以可以配置成系统服务来进行启动。
2.1 下载WinSW.NET4.exe ,下载地址为:https://github.com/winsw/winsw/releases
2.2 新建WinSW.NET4.xml文件,进行编辑
<configuration>
<!--安装成Windows服务后的服务名-->
<id>test-data</id>
<!--显示的服务名称-->
<name>test-data</name>
<!--对服务的描述-->
<description>测试服务请求</description>
<!--这里写java的路径,如何配置了环境变量直接写"java"就行-->
<executable>java</executable>
<!--Xmx256m 代表堆内存最大值为256MB -jar后面的是项目名-->
<arguments>-Xmx256m -jar test-data.jar</arguments>
<!--让服务自动启动-->
<startmode>Automatic</startmode>
<!--日志路径-->
<logpath>%BASE%\logs</logpath>
<!--日志模式-->
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMM</zipDateFormat>
</log>
</configuration>
上面的内容需要根据自己的情况进行修改
2.3 新建install.bat和uninstall.bat脚本,用来注入和删除配置的系统服务
#install.bat
WinSW.NET4.exe install
#uninstall.bat
WinSW.NET4.exe uninstall
最后将以上四个文件和打包好的jar包放在同一个文件夹下面,点击install.bat脚本进行启动,打开系统服务,找到刚刚配置注入的服务,就可以通过系统服务的方法来进行启动和停止了。
2.4 如何进行删除配置的系统服务,可以通过执行uninstall.bat脚本来删除,也可以通过下面的方法来进行删除。
1、services.msc找到要删除的服务名
2、以管理员身份运行cmd,输入sc delete 服务名称
以上都为个人使用情况的一个记录,仅仅作为参考即可