-
下载 WinSW.NET4.exe文件 github下载地址
-
把下载的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文件安装坐席端日志上传服务失败.");
}
}
}