Windows bat脚本启动Jar包

本文提供了一系列批处理脚本示例,用于管理Java项目。脚本可以检查端口是否被占用,关闭正在使用的进程,启动.jar应用,并在完成后自动或延迟关闭命令行窗口。此外,脚本还能在当前目录搜索.jar文件并启动。
摘要由CSDN通过智能技术生成

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

设置参考

  • port: 如果你使用其他端口,需要将其替换为你要使用的端口号。
  • java_exe: 如果你的 Java 可执行文件不在 C:\Program Files\Java\jdk-11.0.2\bin\java.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值