这是一个“简单”的问题,但使用 Eclipse 做这样的事情似乎很复杂。
我有一个“utils”项目,我在其中开发了“通用”代码,如 xml 解析器、记录器、数学计算、调试实用程序等。
这个库是基于其他几个外部库(commons-lang-3.1、colt-1.2.0、jdom-2.0.4)来工作的,它是一个不可运行的 JAR 文件(即没有 main(),只是包含在其他项目中的实用程序代码)。
我想要做的是,当我创建项目的 JAR 文件时,提取 JAR 文件中的所有外部 JAR(common-lang、colt、jdom),以便在其他项目中自动使用它们。
原因是我不想在基于我的 lib 的每个项目中重新包含 common-lang、colt 和 jdom,而是使用打包在我的 lib JAR 文件中的那些(这是一种确保我将在基于我的库的项目中使用相同版本的库)
我知道如何使用可运行的 JAR 文件来做到这一点。参见例如:如何使用 Eclipse 中包含的外部库创建 jar?
但在不可运行的 JAR 文件中:
- 我所有的类都根据我创建的包正确地导出到正确的目录结构中(希望 ;-)),
- 但是外部 JAR 文件是“按原样”导出的,所以当我在另一个项目中导入我的 JAR 时,这些 JAR(common-lang,...)无法看到,我必须重新导入它们。
有没有一种简单的方法来导出这个具有目录结构的 JAR 文件,其中所有外部 JAR 文件也被提取到生成的 JAR 文件中?
问候