把Jar包程序变成一个windows服务,随开机启动

本文介绍了如何使用WinSW.NET4.exe工具将Java JAR程序转化为Windows服务,实现随开机启动。首先从GitHub下载WinSW.NET4.exe,将其与目标JAR放在同一目录,并重命名。接着创建XML配置文件,配置服务信息。然后通过两个BAT脚本,分别用于安装和卸载该Windows服务。最后,可以通过Java代码调用CMD执行这些BAT脚本来管理服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 把下载的WinSW.NET4.exe文件和需要变成windows服务的jar放在一个目录下

  • 把WinSW.NET4.exe 的名称和jar包的名称修改成一样的

  • 新建一个和jar包名称一样的xml文件

     xml文件的样例:

<service>
     <id>seatingLog</id>
     <name>seatingLog</name>
     <description>This is seatingLog upload service.</description>
     <!-- java环境变量 -->
     <env name="JAVA_HOME" value="%JAVA_HOME%"/>
     <executable>java</executable>
     <arguments>-jar "F:\windows_service\seatingLog.jar"</arguments>
     <!-- 开机启动 -->
     <startmode>Automatic</startmode>
     <!-- 日志配置 -->
     <logpath>F:\windows_service\log</logpath>
     <logmode>rotate</logmode>
 </service>
  • 创建一个bat文件安装windows服务,install.bat

@echo on 
:color 2f 
mode con: cols=80 lines=25
:@echo 请按任意键开始安装后台服务...
:pause
cd /d %~dp0
seatingLog.exe install
net start seatingLog
:pause
exit
  • 创建一个卸载windows服务bat文件,uninstall.bat

@echo on 
color 2f 
mode con: cols=80 lines=25
:@echo 请按任意键开始卸载后台服务...
:pause
cd /d %~dp0
net stop seatingLog
seatingLog.exe uninstall
pause
  • Java代码调用cmd执行bat文件

public class PublishSeatingLogServiceCommand {

    public static void publishSeatingLogService(String localPath){
        try {
            StringBuilder cmdBuilder = new StringBuilder("cmd.exe /c start ");
            cmdBuilder.append(localPath);//bat文件所在的目录 案例:F:\\windows_service\\
            cmdBuilder.append("install.bat");
            Runtime.getRuntime().exec(cmdBuilder.toString());
        }catch (IOException ioExc){
            log.error("调用bat文件安装坐席端日志上传服务失败.");
        }
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值