Windows bat脚本启动Jar包

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Windows bat脚本启动Jar包,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

Windows bat脚本启动Jar包

设置参考

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

Windows bat脚本启动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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192761.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!