1. 编写启动 .bat
文件
你想要 后台运行,路径灵活,那我们改写一下 .bat
文件:
:: 设置jar包路径
set "javaPath=D:\java\javaSeedProcessingAndStorage.jar"
:: 判断jar包是否存在
if not exist "%javaPath%" (
echo JAR包不存在,请检查路径!
pause
exit
)
:: 后台启动程序
start "" javaw -jar "%javaPath%"
echo 程序已启动!
解释
set "javaPath=..."
— 设置路径,支持灵活换路径。if not exist
— 检查 JAR 包是否存在,防止路径写错白跑一趟。start ""
— 启动新窗口后台运行,不卡住当前窗口。javaw
— 不显示黑窗口,适合服务或者 GUI。pause
— 如果路径错了,它会暂停,防止窗口一闪而过。
2. 编写停止 .bat
文件
我们需要一个能干净停止旧程序的脚本:
:: 停止运行的JAR程序
set "jarName=javaSeedProcessingAndStorage.jar"
:: 查找进程并结束
for /f "tokens=2" %%i in ('jps -l ^| findstr "%jarName%"') do (
taskkill /F /PID %%i
echo 已停止旧程序!
exit
)
echo 未找到正在运行的程序!
解释
jps -l
— Java 自带命令,列出正在运行的 Java 进程。findstr
— 只找指定的 JAR 包。taskkill /F /PID
— 强制结束找到的进程。
3. 更新 JAR 包自动重启
可以把停止和启动合并成更新脚本:
:: 更新JAR程序
call stop.bat
timeout /t 2
call start.bat
echo 更新完成!
4. 设置开机自启
方法一:用 Windows 计划任务
Win + R 输入
taskschd.msc
,打开任务计划程序。创建基本任务 → 设置名字(比如 "JavaProgramAutoStart")。
触发器选 "登录时"。
操作 选择 "启动程序" → 找到你的
start.bat
。勾选 "以最高权限运行" + "配置为 Windows 10"(防止权限不够)。
确保 "条件" 里取消勾选 "只有在计算机接入电源时才启动"。
方法二:用 启动文件夹
Win + R 输入
shell:startup
,回车。把
start.bat
文件复制到这个文件夹里就搞定了。
5. 防止多开占用端口(可选)
如果你的程序启动时可能会重复打开多次,或者占用端口,可以加个“防多开”功能:
:: 防止重复运行
set "jarName=javaSeedProcessingAndStorage.jar"
tasklist | findstr /I "%jarName%" >nul && (
echo 程序已在运行中!
exit
)
:: 启动程序
start "" javaw -jar "%javaPath%"
最终效果
启动脚本支持路径变化,后台运行。
停止脚本干净关闭旧程序。
更新脚本停止旧的启动新的。
开机自启跟着系统一起跑。
防多开避免重复占用端口。
默认评论
Halo系统提供的评论