@Echo Off Rem SetAll.bat For %%i In ("%HIBERNATE_HOME%\lib\*.jar") Do Call "SetClassPath.bat" %%i Set ClassPath ============================================== @Echo Off Rem SetClassPath.bat:Set NewFile=%1 :Check If %2a==a Goto SetValue Shift Set NewFile=%NewFile% %1 Goto Check :SetValue Set ClassPath=%CLASSPATH%;%NewFile%
这个问题恰好前两天我也考虑过,一大堆只有一个项目的jar都放进classpath里边去实在不是好办法。由于我用linux环境,准备写个脚本,还没做呢。具体方法是,把需要的jar,zip文件放进一个目录,脚本执行 java -classpath (脚本查找那个目录的文件,动态生成) myClass其实Java也可以解决 就用 Runtime.exec("java -classpath (动态生成) myClass")不过没有脚本方便,windows下边也一样写个 bat就行了
Rem SetAll.bat
For %%i In ("%HIBERNATE_HOME%\lib\*.jar") Do Call "SetClassPath.bat" %%i
Set ClassPath
==============================================
@Echo Off
Rem SetClassPath.bat:Set NewFile=%1
:Check
If %2a==a Goto SetValue
Shift
Set NewFile=%NewFile% %1
Goto Check
:SetValue
Set ClassPath=%CLASSPATH%;%NewFile%