classpath 载入多个jar

阅读更多

早上启动red5启动不了,也没有报什么错误,修改red5.bat 查看classpath 

脚本启动片段 
echo %JAVA_HOME%\bin\java %JYTHON_OPTS% %JAVA_OPTS% -cp "%RED5_CLASSPATH%" %RED5_MAINCLASS% %RED5_OPTS% 
%JAVA_HOME%\bin\java %JYTHON_OPTS% %JAVA_OPTS% -cp "%RED5_CLASSPATH%" %RED5_MAINCLASS% %RED5_OPTS% 

打印后发现classpath里面有问题,因为前几日工作需要使用powerdesigner连接mysql,连接用jdbc实现的,需要把mysql的jdbc包放入classpath; 
但是这应该不影响呀。然后将这个路径去掉,重启red5还是不行。 
忽然想起自己在.;"JAVA_HOME"\lib后面加了个.;"JAVA_HOME"\lib\ 
难道是这个问题造成的。立马去掉,启动成功。 

后来分析RED5_MAINCLASS从其紧挨着的classpath路径找启动类,没有找到, 
然后我将red5自己的启动jar包放在classpath最后,也可以启动。 


Javase6 对于classpath的设置有些改进,可以使用通配符例如 
java -cp "Test.jar;lib/*" my.package.MainClass 
对于javase6以前的版本可以使用 
-Djava.ext.dirs  来制定加载jar的目录 

可以参考 
http://download.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html 

直接指定目录也可以加载里面的jar,和使用通配符有区别吗。 
另外"JAVA_HOME"\lib\多个“\”不成功是什么原因。 
和大伙一块讨论下 

你可能感兴趣的:(classpath 载入多个jar)