jar 文件如何引用第三方jar包


如果会打包,那可能就知道 MANIFEST.MF 这个文件吧,

一个 jar 要能运行的话,必须在这个文件中设置 Main-Class: 这个我想已经设置好了。


如果要使用到第三方的 jar 包,同样也需要在这个文件中设置一下。

需要在这个文件中加上,下面路径前的 xxx/ 先暂时称为 X 目录。


Java code
?
1
Class-Path: xxx/mysql-connector-java-x.x.x-bin.jar xxx/abcdefg.jar xxx/12345.jar


多个 jar 以至少一个空格分隔开来。

需要注意的是 Class-Path: 后面必须得有一个空格,

并且在这个文件的最后必须有个空行,否则这个文件就是无效的。(MANIFEST 规范相当得死)


这还没完,设置好后,把这个设有 Main-Class 和 Class-Path 的 MANIFEST.MF 文件以及 class 文件打包成 my.jar(文件名任意),需要注意的是第三方的 jar 文件不要打包打进去。

把这个 my.jar 放在一个目录下,同时在这个目录下新建一个上面的 X 目录,把第三方的那些 jar 文件复制这个 X 目录下,然后返回上一层 my.jar 所在目录,执行 java -jar my.jar 就能成功运行了。

另外还有一个方法不需要设置 MANIFEST.MF 的 Class-Path,

不过不推荐使用,就是把第三方的 jar 文件复制到 Java 的扩展类加载路径中,

也就是在 %JRE_HOME%/lib/ext 目录中。



【推荐参考文档】

[1] JAR MANIFEST, http://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
[2] Java Tutorials, Adding Classes to the JAR File's Classpath, http://download.oracle.com/javase/tutorial/deployment/jar/downman.html

[3] Java Tutorials, Installed Extensions, http://download.oracle.com/javase/tutorial/ext/basics/install.html


original link:http://bbs.csdn.net/topics/350163956



其实更粗暴的方法是,将第三方的jar的解压提取出来,通过命令: jar -xvf xxx.jar;

然后,将提取出来得文件以及要打包的文件一起打包,生成新的.jar文件;

eclipse 打包方式,好像是这种方式;


你可能感兴趣的:(jar,java)