1、背景
lib路径下有j1.jar , j2.jar ,j3.jar, 其中main函数在j1.jar中,路径和类名:cn.pak.MyClass; j2.jar, j3.jar是依赖包
j1.jar中的MANIFEST.MF
不指定Main-class和依赖包的classpath.
2、通过windows命令允许j1.jar中的main函数。
最终命令形式:java -cp lib/j1.jar;lib/j2.jar;lib/j3.jar cn.pak.MyClass (注意:jar包分割符用分号, 而不是冒号)
通过批处理扫描lib路径下所有jar包并运行main函数. bat文件内容如下:
@echo off
setlocal enabledelayedexpansion
set aa=
for /f "delims=" %%a in ('dir /b "lib\*.jar"') do (
set "aa=!aa!lib/%%a;"
)
echo %aa%
java -classpath %aa% cn.isimba.msgpush.server.MsgpushServer
pause