开机一键自启
如果你不仅想“一键启动”,还希望电脑开机时它能“自动一键启动”,你可以直接将上面写好的 .bat 文件复制到一个特殊的启动文件夹中:按下 Win + R 键,输入 shell:startup 并回车,将 .bat 文件放入打开的文件夹即可。这样每次开机登录后,系统就会自动运行该 JAR 包。
@echo off
chcp 65001 > nul
:: ================= 核心配置区 =================
set "APP_PORT=8080"
:: 配置 JAR 包完整路径
set "JAR_PATH=D:\app-server\import-bean-0.0.1-SNAPSHOT.jar"
:: 配置 JVM 内存参数
set "JVM_OPTS=-Xms512m -Xmx1024m -Dfile.encoding=UTF-8"
:: 配置日志文件路径
set "LOG_FILE=D:\app-server\app.log"
:: ==============================================
:: 1. 检查系统环境变量 JAVA_HOME 是否存在
if "%JAVA_HOME%"=="" (
echo [错误] 未检测到 JAVA_HOME 环境变量,请检查系统配置!
pause
exit /b 1
)
:: 2. 检查 JAR 包是否存在
if not exist "%JAR_PATH%" (
echo [错误] 未找到 JAR 包: %JAR_PATH%
pause
exit /b 1
)
:: 3. 检查并释放被占用的端口
echo [信息] 正在检查端口 %APP_PORT% 是否被占用...
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%APP_PORT%" ^| findstr "LISTENING"') do (
echo [警告] 端口 %APP_PORT% 已被进程 PID: %%a 占用,正在强制终止...
taskkill /f /pid %%a > nul 2>&1
)
:: 4. 检查程序是否已在后台运行(防止重复启动)
netstat -ano | findstr ":%APP_PORT%" | findstr "LISTENING" > nul
if not errorlevel 1 (
echo [警告] 端口 %APP_PORT% 正在被监听,程序可能已在运行,请勿重复启动!
pause
exit /b 0
)
:: 5. 前台启动应用(保留控制台窗口以实时查看日志)
echo [信息] 正在启动应用...
echo [提示] 日志将同步保存至: %LOG_FILE%
echo --------------------------------------------------
:: 使用 PowerShell 的 Tee-Object 实现“双写” 既能把日志实时追加到 app.log,又能让黑窗口正常显示
"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% -jar "%JAR_PATH%" 2>&1 | powershell -Command "$input | Tee-Object -FilePath '%LOG_FILE%' -Append"
:: 6. 程序退出后的提示
echo --------------------------------------------------
echo [提示] 应用已停止运行。
pause
1.直接双击startup.bat 运行

2.为脚本生成一个快捷键


双击运行:



1296

被折叠的 条评论
为什么被折叠?



