关于bat启动jar程序的问题(包含第三方jar包)
做了一个程序,由于需要用到很多第三方jar包,并且随着后续的开发,用到的jar包可能会更多,所以直接在manifest.mf里面写着感觉不太好。所以想着把所有用到的jar包都放在lib文件夹下面,然后制作一个批处理用批处理先加载jar包,然后启动程序。但是却遇到了棘手的问题,就是提示找不到类,也就是说第三方包没有加进去。请高手们来解答一下。
先来看一下我的程序目录
其中Spider-Frame.jar为程序主框架,启动时启动的就是启动此程序,config.properties为配置文件,plugins为插件(插件很多,并且后续还会添加其他功能的插件,所以现在不能把第三方jar包写死)。lib文件夹就是存放所有的第三方jar包。两个批处理为启动程序用,功能一样,只是一个现实控制台一个不显示。
下面是批处理的代码:
setclasspath.bat
SET _CLASSPATHCOMPONENT=%1:argCheckIF %2a==a GOTO gotAllArgsSHIFTSET _CLASSPATHCOMPONENT=%_CLASSPATHCOMPONENT% %1GOTO argCheck:gotAllArgsSET CLASSPATH=%_CLASSPATHCOMPONENT%;%CLASSPATH%
@echo offset CLASSPATH=FOR %%i IN ("lib\*.jar") DO CALL "setclasspath.bat" %%iecho %CLASSPATH%java -cp "%CLASSPATH%" -jar -Xms256m -Xmx512m Spider-Frame.jar %*pause