Java使用外部jar创建独立jar

时间:2011-03-07 11:13:34

标签: java jar external

我为我的应用程序开发了两个.jar(LOG.jar和STRING.jar)。

我使用这些jar,在.java中导入:

import LOG.CLog
import STRING.CString

没关系。但.jar在我的项目中正在增加,所以我想只创建一个包含所有.jar开发的.jar。

所以我通过创建唯一一个.jar(名为TOOLS.jar)来尝试这个:

jar.exe cvmf MANIFEST.MF TOOLS.jar TOOLS\LOG.jar TOOLS\STRING.jar

但是,如果我在我的应用程序编译中只放入TOOLS.jar文件(Eclipse中的Java构建路径),那么当我想导入时会出错:

import TOOLS.LOG.CLog

无法解决此导入问题。

在Eclipse“引用库”中,我看到包含STRING.jar和LOG.jar的包PXTOOLS,但我没有看到STRING和LOG包!

我该如何解决?

3 个答案:

答案 0 :(得分:1)

您不能在jar文件中包含jar。如果您只想提供一个罐子,请查看One-Jar之类的工具。他们可以为你打包工作罐。

答案 1 :(得分:1)

  

我使用这些jar,在.java中导入   :

     

导入LOG.CLog导入STRING.CString

通过使用包名称限定类来导入类;不是直接来自JAR文件。我希望你的包名为LOG,类名为CLog(尽管使用大写包名称是一个错误的命名约定)

其次,不建议将JAR文件合并为一个。最好将它们分开。如果您想要合并,则必须确保首先提取所有类文件然后合并。

答案 2 :(得分:0)

我使用这些jar,在.java中导入:

导入LOG.CLog导入STRING.CString

通过使用包名称限定类来导入类;不是直接来自JAR文件。我希望你的包被称为LOG,类在这里是CLog(虽然它是一个错误的命名约定,有大写的包名)

其次,建议不要将JAR文件合并为一个。将它们分开是最好的。如果您想要合并,则必须确保首先提取所有类文件然后合并。

是的,你可以这样做。看看这里 - Build Java entire project jar using JDeveloper