gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 04:58:43 24 4
gpt4 key购买 nike

这是一个“简单”的问题,但使用 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/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com