Windows bat脚本启动Jar包

如果中文路径乱码,文件另存为保存为ANSI则可以。

设置参考

port: 如果你使用其他端口,需要将其替换为你要使用的端口号。 java_exe: 如果你的 Java 可执行文件不在 C:Program FilesJavajdk-11.0.2injava.exe 这个路径下,请将其替换为实际的路径。 jar_path: 如果 admin.jar 不在批处理脚本的同一目录下,请将其替换为实际的路径

脚本1 

以下是一个修改后的脚本,可以在运行 Java 项目时关闭当前窗口 admin.jar 为执行java名称

不指定java版本

@echo off

setlocal enabledelayedexpansion

set port=8080
set jar_path=%~dp0admin.jar

:: Check if the port is already in use
for /f "tokens=5" %%a in (netstat -ano ^| findstr :%port%) do (
    taskkill /f /pid %%a >nul
)

:: Start the Java project and display output in a new window
start cmd /c java -jar "%jar_path%"
exit

这里将启动 Java 项目的命令中的 cmd /k 改为了 cmd /c,这样在项目运行结束后会自动关闭当前窗口。

另外,如果你想要让脚本执行完毕后等待一段时间再自动关闭窗口,可以在最后加上 ping -n 3 127.0.0.1 > nul,其中 3 表示等待的秒数

脚本2

以下是一个修改后的脚本,可以在当前文件夹下查找并启动任何以 .jar 结尾的文件
@echo off

setlocal enabledelayedexpansion

set port=8080
set jar_path=

:: Search for .jar files in current directory
for %%i in (*.jar) do (
    set jar_path=%%i
    goto found_jar
)

:found_jar
if not defined jar_path (
    echo No .jar file found in current directory!
    pause
    exit
)

:: Check if the port is already in use
for /f "tokens=5" %%a in (netstat -ano ^| findstr :%port%) do (
    taskkill /f /pid %%a >nul
)

:: Start the Java project and display output in a new window
start cmd /c java -jar "%jar_path%"
exit

这里使用 for 命令遍历当前目录下所有以 .jar 结尾的文件,将第一个找到的文件名赋值给 jar_path 变量。如果没有找到任何 .jar 文件,则会输出一条错误信息并等待用户按下任意键退出。然后,脚本会检查 8080 端口是否被占用,并启动找到的 .jar 文件。

脚本3

如果在脚本中使用start命令来启动新的cmd窗口,那么要想在新打开的cmd窗口中设置标题,需要在start命令之前先加上title命令,例如:添加cloud-dev
@echo off

setlocal enabledelayedexpansion

set port=8080
set jar_path=

:: Search for .jar files in current directory
for %%i in (*.jar) do (
    set jar_path=%%i
    goto found_jar
)

:found_jar
if not defined jar_path (
    echo No .jar file found in current directory!
    pause
    exit
)

:: Check if the port is already in use
for /f "tokens=5" %%a in (netstat -ano ^| findstr :%port%) do (
    taskkill /f /pid %%a >nul
)

:: Start the Java project and display output in a new window with custom title
start "cloud-dev" cmd /c java -jar "%jar_path%" --spring.profiles.active=dev
exit
经验分享 程序员 微信小程序 职场和发展