楠笙
2025-08-14
点 赞
0
热 度
6
评 论
0

在window下运行jar包的一些事儿

文章摘要

智阅GPT

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 计划任务

  1. Win + R 输入 taskschd.msc,打开任务计划程序

  2. 创建基本任务 → 设置名字(比如 "JavaProgramAutoStart")。

  3. 触发器选 "登录时"。

  4. 操作 选择 "启动程序" → 找到你的 start.bat

  5. 勾选 "以最高权限运行" + "配置为 Windows 10"(防止权限不够)。

  6. 确保 "条件" 里取消勾选 "只有在计算机接入电源时才启动"。


方法二:用 启动文件夹

  1. Win + R 输入 shell:startup,回车。

  2. start.bat 文件复制到这个文件夹里就搞定了。


5. 防止多开占用端口(可选)

如果你的程序启动时可能会重复打开多次,或者占用端口,可以加个“防多开”功能:

:: 防止重复运行
set "jarName=javaSeedProcessingAndStorage.jar"
tasklist | findstr /I "%jarName%" >nul && (
    echo 程序已在运行中!
    exit
)

:: 启动程序
start "" javaw -jar "%javaPath%"

最终效果

  1. 启动脚本支持路径变化,后台运行。

  2. 停止脚本干净关闭旧程序。

  3. 更新脚本停止旧的启动新的。

  4. 开机自启跟着系统一起跑。

  5. 防多开避免重复占用端口。


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

楠笙

enfj 主人公

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到楠笙的站点,为您导航全站动态

32 文章数
7 分类数
65 评论数
10标签数

热门文章