将java应用(springboot jar)注册成Windows服务

将java应用注册成Windows服务

将java应用程序jar注册成windows服务随机自启动,不再需要命令窗口打开,避免误操作。以springboot为例。

首先准备好一个完整的springboot项目,我们修改pom.xml文件,将其打包成jar

将java应用(springboot jar)注册成Windows服务_第1张图片

使用eclipse打包,右击项目名,选择 Run as > Maven build...

将java应用(springboot jar)注册成Windows服务_第2张图片

输入Goals为package,选择跳过测试Skip Tests,然后run

将java应用(springboot jar)注册成Windows服务_第3张图片

将java应用(springboot jar)注册成Windows服务_第4张图片

结束后在项目目录target下可找到jar

将java应用(springboot jar)注册成Windows服务_第5张图片

将java应用(springboot jar)注册成Windows服务_第6张图片

将java应用(springboot jar)注册成Windows服务_第7张图片

打包的工具有很多种,这里主要介绍winsw,其他方式如直接使用sc命令sc create 这种方式注册的服务往往会启动报错,另一种方式是使用procrun,此方法对于一般的jar包好使,但是springboot打包成jar后

与普通jar不同,class文件在BOOT-INF下,注册完启动后会class not found,解决方法参考文章:

https://www.2cto.com/kf/201801/714529.html 还是有些麻烦,且我想把所有的文件都打包入jar,故换方法,最终选择winsw注册

winsw是一款可将可执行程序安装成Windows Service的开源工具,github:https://github.com/kohsuke/winsw/releases

使用方法也很简单,只需要必须的exe和一个xml配置文件即可,我们选择下载WinSW.NET4.exe,两个配置文件可以下载下来用于参考

将java应用(springboot jar)注册成Windows服务_第8张图片

首先创建文件夹RZSpider,将打包好的jar改名为RZSpider.jar,将刚刚下载好的winsw更名为RZSpider.exe一起复制进去,创建一个xml文件RZSpider.xml用于配置注册信息,再创建两个bat文件用于安装和卸载服务,创建一个bin文件夹用于存放启动停止服务的bat文件,后两项可以不创建。

将java应用(springboot jar)注册成Windows服务_第9张图片

springboot需要的文件资源config和lib以及resources

将java应用(springboot jar)注册成Windows服务_第10张图片

接下来书写xml配置,配置信息如下

 
     RZSpiderService 
     RZSpiderService
     This is RZSpider service.
     java 
    -jar RZSpider.jar
     
     Automatic
     
     logs/service
     rotate
 

将java应用(springboot jar)注册成Windows服务_第11张图片

id为任务管理器中服务名,配置开启自启动以及日志目录,最简配置即可,配置好之后实际上就可以注册服务了,我们在RZSpider目录下按住shift同时右击鼠标选择在此处打开命令窗口,输入RZSpider.exe install即可安装服务,输入RZSpider.exe uninstall即卸载服务,同样启动停止重启即,start ,stop ,restart。

为了方便起见,我们将命令写入bat文件,这样直接双击即可完成相同命令,RZSpider目录下注册和卸载服务的bat文件内容简单如下

把命令集合放入bin目录

将java应用(springboot jar)注册成Windows服务_第12张图片

注意bin目录下bat命令要使用相对目录

..\RZSpider.exe start

注册成功

将java应用(springboot jar)注册成Windows服务_第13张图片

启动,查看日志

将java应用(springboot jar)注册成Windows服务_第14张图片

将java应用(springboot jar)注册成Windows服务_第15张图片

访问一下

将java应用(springboot jar)注册成Windows服务_第16张图片

成功。

你可能感兴趣的:(java,Windows,service)