win部署
大约 1 分钟安装与部署
WinSW制作后台服务
下面是案例项目
application.yml- 批处理 start.bat 启动项目时指定使用外置配置文件showa.jar- 项目 jar 包shutdown.bat- 关闭项目脚本start.bat- 启动项目脚本- 所有
WinSW开头的是用于制作windows服务的工具,其中WinSW.NET4.xml是生成服务时的配置文件

该配置文件如下:
<service>
<id>showa</id>
<name>showa</name>
<description>showa backend service</description>
<executable>java</executable>
<arguments>-jar -Xms2048m -Xmx2048m -Dfile.encoding=UTF-8 D:\projs\showa\backend\showa.jar --spring.config.location=D:\projs\showa\backend\application.yml</arguments>
<startmode>Automatic</startmode>
<logmode>reset</logmode>
</service>
在 cmd 中切换路径到上图(项目 jar 所在路径)执行命令 WinSW.NET4 install 创建为 windows 后台服务,执行 WinSW.NET4 uninstall 是卸载服务
启动脚本
将下面代码保存为 start.bat,运行后启动当前目录下的文件 xzy.jar
@echo off
start javaw -jar -Dfile.encoding=UTF-8 xzy.jar --spring.config.location=D:\xzy\application-pro.yml -Xms1024m -Xmx1024m
exit
通过端口关闭
@echo off
set port=8081
for /f "tokens=1-9" %%i in ('netstat -ano ^| findstr "%port%"') do (
taskkill -f -pid %%m
)
echo 已经关闭端口8081的程序
exit
文件关闭
@echo off
set char=xzy.jar
echo char : %char%
set pid=
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %char%`) do (
echo find process %%a %%b
set pid=%%a
)
if defined pid taskkill /f /pid %pid%
echo 延迟2秒后将重新启动%char%进程
sleep 2
java -jar %char%
