将jar打包成windows系统服务,并实现开机自启

**

将jar设置成windows系统服务,并实现开机自启

**

前阵子将系统部署到客户服务器上后,比较坑的是客户那边机房经常停电。客户不会自己启动服务(实际只要双击几个图标就行)。于是计划给他们搞一个开机自启。

##实施

1.最开始我只是单纯的设计了一个开机自启,方法如下:
a.新建一个文件夹 software,software目录下再建一个文件夹,这里我起名bootdo, 将打包好的jar文件和配置文件等放这个文件夹
b.software目录下再新建一个bat文件 bootdo.bat
bootdo文件里写 :
@echo “执行后台服务”
cd bootdo
start java -jar beta1.jar
c.运行bat文件就可以启动服务了
d.将bootdo.bat文件 放入windows系统开机自启文件夹 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 这样子你的jar服务就可以实现开机自启了 但是运行起来还是有黑色的运行框

** 2** 接下来我们设计的开机自启将不再有运行框
a.1.在idea中用maven将程序打成jar,放到运行的目录中。这里我们新建一个文件夹 bootdoziqi 配置文件夹也要放进来
b.去github上面下载winsw: https://github.com/kohsuke/winsw/releases (只需要下载WinSW.NET4.exe)
将jar打包成windows系统服务,并实现开机自启
c.将WinSW.NET4.exe文件复制到java程序所在文件夹bootdoziqi中
d. 将WinSW.NET4.exe重命名成跟你的java服务名一样,注意java服务名尽量不要用“.”和汉字
e.新建一个xml文件,命名为beta1.xml,xml文件中写如下内容

 <id>beta1</id>

 <name> beta1 </name>

 <description>This is bootdo service.</description>

 <!-- java环境变量 -->

 <env name="JAVA_HOME" value="%JAVA_HOME%"/>

 <executable>java</executable>

<arguments>-jar "C:\Users\86186\Desktop\bootdoziqi\beta1.jar"</arguments>

 <!-- 开机启动 -->

 <startmode>Automatic</startmode>

 <!-- 日志配置 -->

 <logpath>%BASE%\log</logpath>

 <logmode>rotate</logmode>

f. 命令行定位到当前目录,执行:

 beta1.exe  install

这样我们服务就可以实现开机自启了 并且也不会再有运行框。更新服务的话 暂停服务 替换jar包 重启服务就好

有的同学可能不知道服务在哪里重启 ,我给大家讲下win10的服务重启:
右键我的电脑---------管理-----------服务和应用程序-------找到自己的服务操作即可