windows下bat批量运行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%
)
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%
)
start bbb -Xms128m -Xmx128m -jar bbb.jar
ping -n 8 127.0.0.1>nul
上述有个不好的体验,每个jar执行是否正确,只能通过执行后jar是否提供了服务来验证,如果jar能输出日志就最好了,现在没有办法输出执行日志,即相当于把 java -jar aaa.jar在cmd中的日志输出到文件,但start aaa -jar aaa.jar 是无法输出日志。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 小甜文推荐《余生,请多指教》:我把时光写成日记,做成给你的报告 隆重推荐一部小说 《时光里的零零碎碎》 ——柏林石...