小编典典

在一个可执行jar中合并或合并所有jar

java

这里有点“简单”的问题,但是
使用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文件中打包的项目
(这是确保我将在基于我的lib的项目中也使用这些lib的相同版本)

我知道如何使用可运行的JAR文件来执行此操作。例如,请参阅:如何
使用Eclipse中包含的外部库创建一个jar

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

  • 我所有的类都根据我创建的包正确地以正确的目录结构导出(希望;-)),
  • 但是外部JAR文件是“按原样”导出的,因此,当我在另一个项目中导入我的JAR时,这些JAR(通用语言,…)无法显示,因此我必须重新导入它们。
    是否有一种简单的方法来导出具有目录结构的JAR文件,在
    该目录结构中,所有外部JAR文件也都提取到生成的JAR文件中?

问候


阅读 12

收藏
2020-10-16

共1个答案

小编典典

你看过JarSplice吗

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

2020-10-16

回答这个问题

Nothing to preview