Java -jar 选项与 -cp/-classpath

   今天遇到一个问题,我虽然把所有的引用到的jar文件都放到了 -cp选项里,但是我仍然无法运行jar文件:
  
jar -cp lib/referenced.jar -jar myworks.jar

后来到网上查阅了一下,发现如果我们使用-jar选项的话java.exe会忽略-cp,-classpath,以及环境变量CLASSPATH的参数。
   解决方法如下:
   1>不要使用-jar选项,直接调用含有main方法的class文件,这样-cp,-classpath以及环境变量里的CLASSPATH指定的参数就都能使用到了。
  
java -classpath ./lib/junit.jar:. test/Test1

   2>继续使用-jar选项,但是在MAINFEST.MF文件中指定引用到jar文件.
  
Class-Path: myplace/myjar.jar myplace/other.jar jardir/

  
   另外说明一点,这个问题可能有些人遇不到,因为Java的版本不同的原因,我在Sun的JDK和IBM 1.5的JDK都遇到了这个问题,但是对于 IBM 1.4的JDK却没有类似问题。

你可能感兴趣的:(java,jdk,IBM,JUnit,sun)