怎么将jar注册为windows系统服务详细操作

将spring boot项目编译成jar,注册为windows系统服务

在网上了解到,winsw这个开源项目,去github看了下,作者常年维护更新,文档齐全,拥有不少,自己写了个小demo体验了下还不错,然后又运行了一个晚上,没啥问题,遂决定采用它

开源地址

源库地址 https://github.com/winsw/winsw

Releases · winsw/winsw · GitHub

教程所需示例文件地址[https://gitee.com/war110/test-winsw\]

教程所需实力文件下载地址[https://gitee.com/war110/test-winsw/releases/tag/v1\]

需要准备什么?

在releases下载这个软件的本体,一个exe,一个配置的xml

一个可以正常运行的jar(我是写了个自用的项目,每五秒输出一次日志)

一个win7或者win10的操作系统

注:下载示意,我使用的版本是2.11.0

开始操作如下:

准备好写好的jar,我这个是个刚初始化的spring boo项目,就额外加了个log日志的配置文件,代码仓库如下,exe和xml也在里面

配置xml文件,文件名改成和jar同名文件,例testexe.xml

复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<service>
  <!-- 该服务的唯一标识 -->
  <id>test-data</id>
  <!-- 注册为系统服务的名称 -->
  <name>SW test Data</name>
  <!-- 对服务的描述 -->
  <description>测试数据生成服务</description>
  <!-- 将java程序添加到系统服务 -->
  <executable>java</executable>
  <!-- 执行的参数 -->
  <arguments>-jar "testexe.jar"</arguments>
  <!-- 日志模式 这种是exe帮忙收集产生的日志配置,如果jar自带了log的话,也会输出 -->
   <!--<logpath>\logs</logpath>
   <log mode="roll-by-size">
        <!-- 归档文件大小,单位是KB -->
       <sizeThreshold>3</sizeThreshold>
       <keepFiles>8</keepFiles>
   </log>-->
<!-- 日志模式 这种是exe不用帮忙收集产生的日志配置 因为jar自带了log输出那一套 -->
   <log mode="none"></log>
</service>

将exe文件改名为跟jar同名的文件

启动服务操作如下:

复制代码
# cmd 管理员模式进入该文件夹内
# 输入命令注册为系统服务
testexe.exe install testexe.xml
# 看的success字样说明已经注册成功了
# 打开windows 服务管理界面,右键启动这个服务,查看日志

卸载服务操作如下

复制代码
# cmd 管理员模式进入该文件夹内
# 停止该服务
testexe.exe stop
# 输入命令卸载该服务
testexe.exe uninstall 
相关推荐
WooaiJava6 小时前
流式TTS音频播放项目 - 面试问答(后端)
java·开发语言
奥升新能源平台6 小时前
奥升充电|充电站用户分层分析与精细化运营策略研究
java·大数据·能源
梵得儿SHI7 小时前
(第十篇)Spring AI 核心技术攻坚全梳理:企业级能力矩阵 + 四大技术栈攻坚 + 性能优化 Checklist + 实战项目预告
java·人工智能·spring·rag·企业级ai应用·springai技术体系·多模态和安全防护
一路向北⁢7 小时前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(三)
java·spring boot·后端·sse
摇滚侠7 小时前
macbook shell 客户端推荐 Electerm macbook 版本下载链接
java·开发语言
程序员布吉岛7 小时前
Java 后端定时任务怎么选:@Scheduled、Quartz 还是 XXL-Job?(对比 + 避坑 + 选型)
java·开发语言
知无不研7 小时前
lambda表达式的原理和由来
java·开发语言·c++·lambda表达式
逍遥德7 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
笨蛋不要掉眼泪7 小时前
Redis哨兵机制全解析:原理、配置与实战故障转移演示
java·数据库·redis·缓存·bootstrap
Coder_Boy_7 小时前
基于SpringAI的在线考试系统-整体架构优化设计方案
java·数据库·人工智能·spring boot·架构·ddd