java - 将所有 jar 合并或合并到一个可执行 jar 中

标签 java eclipse jar

这里是一个“简单”的问题,但使用 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 文件来做到这一点。 例如,参见:How to create a jar with external libraries included in Eclipse?

但在不可运行的 JAR 文件中:

  • 我的所有类都根据我创建的包正确导出到正确的目录结构中(希望;-)),
  • 但是外部 JAR 文件是“按原样”导出的,因此当我在另一个项目中导入 JAR 时,这些 JAR(common-lang,...)无法看到,我必须重新导入它们.

有没有一种简单的方法可以导出带有目录结构的 JAR 文件,其中所有外部 JAR 文件也都提取到生成的 JAR 文件中?

问候

最佳答案

你见过JarSplice吗? ?

JarSplice 通过易于使用的 GUI 将所有 jar 和 native 文件合并为一个易于使用的可执行 jar 文件。

enter image description here

关于java - 将所有 jar 合并或合并到一个可执行 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422892/

相关文章:

java - 如何从许多包含源代码的插件 jar 文件生成 javadoc

jar - 使用 sbt 程序集创建 fat jar 时出现 OutofMemoryErrory

java - 找不到 ArrayList 和我的 List<CustomType> 的消息正文编写器以及 MIME 媒体类型 application/xml?

java - 表式索引集合过滤

java - Spring REST API 为 pojo 注册日期转换器

java - liquibase 和 orai18n.jar

java - 如何分组然后映射流

java - Eclipse 中的 XXX 注释前缀从何而来?

java.lang.OutOfMemoryError : Java heap space in Eclipse, 无论设置如何

java - 我的 Eclipse 副本不知道对象或字符串是什么