一、前言

由于项目需要在本地调试,写成bat文件执行xxxx.jar文件,正常我们执行后台命令start %JAVA_HOME%\bin\javaw.exe -jar XXX.jar,是能启动程序,但是后台找到的进程是javaw.exe,如果出现多个jar启动,我们不知道停止那个应用,所以需要对进程起名。

二、bat命令

@echo off ::检测后台是否已经在运行 :begin echo 后台程序运行信息如下: tasklist /nh|find /i "javaw.exe" if ERRORLEVEL 1 (goto activate) else (goto activated) ::如果后台已经在运行,则提示,并询问 :activated echo. echo 后台正在运行中... echo. echo 请输入以下命令 echo S 关闭后台(shutdown) echo R 重启后台(restart) echo E 退出(exit) echo. set /p commandActivated=输入您的命令: if "%commandActivated%"=="S" (goto shutdownService) else if "%commandActivated%"=="R" (goto restartService) else (goto exitCmd) ::关闭后台 :shutdownService taskkill -f -t -im javaw.exe echo. echo 项目已关闭 goto begin ::重启后台 :restartService taskkill -f -t -im javaw.exe echo. echo 项目已关闭 goto startService ::如果后台没有在运行,则提示,并询问 :activate echo. echo 后台未运行 echo. echo 请输入以下命令 echo S 启动后台(start) echo E 退出(exit) echo. set /p commandActivate=输入您的命令: if "%commandActivate%"=="S" (goto startService) else (goto exitCmd) ::启动后台 :startService start javaw -jar xxl-job-admin-2.3.0.jar set countdown=30 for /L %%a in ( %countdown%,-1,0 ) do ( echo. echo 项目正在启动,请不要退出... echo. echo %countdown%秒后将自动检查启动情况 echo 还剩余 %%a 秒 ping -n 2 localhost 1>nul 2>nul cls ) echo. echo 后台程序运行信息如下: tasklist /nh|find /i "javaw.exe" if ERRORLEVEL 1 (goto startError) else (goto startSuccess) ::启动失败 :startError echo. echo 项目启动失败,请检查相关配置 goto begin ::启动成功 :startSuccess echo. echo 项目已启动 goto begin ::退出 :exitCmd echo. echo 您可以关闭这个窗口或按任何键将退出 pause > nul

三、演示

读取springbootjar包外的配置文件(windows下bat命令启动springboot项目jar包)(1)

读取springbootjar包外的配置文件(windows下bat命令启动springboot项目jar包)(2)

读取springbootjar包外的配置文件(windows下bat命令启动springboot项目jar包)(3)

,