龙空技术网

pigx系列007:后端部署在windows下bat批量运行jar包

IT技术帮 158

前言:

当前咱们对“windows运行java jar”大概比较关注,咱们都想要知道一些“windows运行java jar”的相关文章。那么小编在网上网罗了一些对于“windows运行java jar””的相关内容,希望你们能喜欢,咱们一起来了解一下吧!

1. 在cmd下,java -jar ***.jar 运行后窗口不能关,但如果有多个jar,则会有多个cmd的窗口,很难看

2. 在cmd下,javaw -jar ***.jar运行后窗口可以关,但如果有多个jar,则进程中会有许多相同的javaw进程,无法区分那个是那个jar,很难去关闭某个jar的进程

为解决这两个问题

1. 为解决多个cmd的窗口问题:通过bat文件批量运行jar包,每个包用 start javaw -jar ***.jar来运行

2. 为解决进程难以区分问题:通过复制javaw.exe为对应jar包的文件名称来执行jar 包,诸如 abc.jar,复制javaw.exe 为 abc.exe,然后 start abc -jar abc.jar,这样进程中就是abc

3. 如果jar之间有执行依赖,则通过 ping 来给前一个jar提供执行时间

如下参考示例

set javaw="%JAVA_HOME%\bin\javaw.exe"

echo ******启动aaa.jar******

set aaa="%JAVA_HOME%\bin\aaa.exe"

rem 复制文件

if not exist %aaa% (

copy %javaw% %aaa%

)

rem 检查进程是否存在,如果存在,则删除进程,以便重启进程

set taskName=aaa.exe

tasklist|find /i "%taskName%"

if ErrorLevel 0 (

taskkill /im %taskName% /f

)

start aaa -Xms128m -Xmx128m -jar aaa.jar

rem 等待8秒,ping一次1秒

ping -n 8 127.0.0.1>nul

echo *******启动bbb.jar******

set bbb="%JAVA_HOME%\bin\bbb.exe"

if not exist %bbb% (

copy %javaw% %bbb%

)

set taskName=bbb.exe

tasklist|find /i "%taskName%"

if ErrorLevel 0 (

taskkill /im %taskName% /f

)

start bbb -Xms128m -Xmx128m -jar bbb.jar

ping -n 8 127.0.0.1>nul

标签: #windows运行java jar