jar包安装成Windows服务

一、前言

很多年前写过一篇《使用java service wrapper把windows flume做成服务》的文章,也是把jar包安装成windows服务,今天介绍另外一种更简便的方案。

二、正片

这次使用的工具是 winsw,一个Windows服务包装器。下面看详细介绍

首先从github中下载这个工具,下载地址如下 https://github.com/winsw/winsw/releases

有很多个版本,选择适合自己系统的版本进行下载(示例是使用64位的安装包),以及xml配置(二选一,本例以sample-minimal.xml为例)

把这两个文件放到同一个目录,然后把打包好的jar包也放进去,为了好区分,可以把exe和xml文件改成以jar包一样的名字。如:

然后修改test-service.xml配置,只需要修改四个地方,如图

修改后的内容,中文可能会有异常,建议使用英文注释

xml 复制代码
<service>
	<!--安装成Windows服务后的服务名-->
    <id>test-service</id>
    <!--显示的服务名称-->
    <name>test-service</name>
    <!--对服务的描述-->
    <description>test-service</description>
    <!--这里写java的路径,如何配置了环境变量直接写"java"就行-->
    <executable>java</executable>
    <!--jar包的执行参数 -jar后面的是项目名-->
    <arguments>-Dfile.encoding=utf-8 -Xmx256m -jar test-service-1.0.jar</arguments>
    <!--日志模式-->
    <logmode>rotate</logmode>
</service>

使用终端管理员执行服务安装命令

shell 复制代码
test-service.exe install

显示下面结果就表示成功

执行成功后,打开服务可查看到刚才安装的服务

右键启动,或者通过命令启动。其他命令

命令 描述
install 安装服务
uninstall 卸载服务
start 启动服务
stop 停止服务
restart 重启服务
status 查看服务状态
refresh 刷新服务属性,无需重新安装
customize 自定义包装器可执行文件
dev 实验的命令

剩下的自己去尝试吧。

相关推荐
Whoami!19 分钟前
⓫⁄₁₂ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 未加引号服务路径漏洞利用(下)
网络安全·信息安全·windows服务·未加引号服务路径
食指Shaye1 天前
idea突然出现找不到Maven配置的jar
maven·intellij-idea·jar
码云数智-大飞1 天前
优雅解决 IntelliJ IDEA “命令行过长”问题:使用 JAR 清单(Manifest)方式
java·intellij-idea·jar
红烧柯基1 天前
nohup java -jar运行jar包时设置启动参数
java·开发语言·jar
丁劲犇2 天前
老旧CentOS7服务器JVM加载Jar缓慢排查:竟与NTP服务器有关
服务器·jvm·jar·java8·ntp·加载慢
Hui Baby6 天前
java -jar 启动原理
java·pycharm·jar
weixin_511255216 天前
更新jar内资源和代码
java·jar
Knight_AL6 天前
在 Windows 上安装本地 JAR 到 Maven 仓库
windows·maven·jar
Whoami!7 天前
⓫⁄₇ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 滥用Windows服务提权(上)
网络安全·信息安全·windows服务·权限提升
你才是臭弟弟8 天前
生产环境开箱即用的“Flink + Iceberg 数据湖容器搭建”(Docker)
docker·容器·jar