欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-02 23:09:58
...

将java应用注册成Windows服务

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

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

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

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

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

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

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

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

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

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

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

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

打包的工具有很多种,这里主要介绍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服务

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

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

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

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

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

<configuration> 
     <id>RZSpiderService</id> 
     <name>RZSpiderService</name>
     <description>This is RZSpider service.</description>
     <executable>java</executable> 
    <arguments>-jar RZSpider.jar</arguments>
     <!-- 开机启动 -->
     <startmode>Automatic</startmode>
     <!-- 日志配置 -->
     <logpath>logs/service</logpath>
     <logmode>rotate</logmode>
 </configuration>

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

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

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

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

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

把命令集合放入bin目录

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

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

..\RZSpider.exe start

注册成功

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

启动,查看日志

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

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

访问一下

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

成功。