Java 将外部库放入JAR?

Java 将外部库放入JAR?,java,Java,我已将一些外部库添加到我的java项目(在netbeans中)。 是否可以将外部jar库放入java存档(而不是将它们放入单独的(例如)“lib”目录)?该项目允许您将依赖jar打包到单个jar文件中进行分发 该项目提供了一个ant任务来进行打包,由于netbeans项目在构建过程中使用ant,您应该能够相当轻松地将其集成到构建中。如果要将JAR打包到JAR中,则war或ear文件中的web应用程序通常都会这样做。 如果您的应用程序是独立的,您可以使用Ant jar和unjar任务将jar解压并

我已将一些外部库添加到我的java项目(在netbeans中)。
是否可以将外部jar库放入java存档(而不是将它们放入单独的(例如)“lib”目录)?

该项目允许您将依赖jar打包到单个jar文件中进行分发


该项目提供了一个ant任务来进行打包,由于netbeans项目在构建过程中使用ant,您应该能够相当轻松地将其集成到构建中。

如果要将JAR打包到JAR中,则war或ear文件中的web应用程序通常都会这样做。 如果您的应用程序是独立的,您可以使用Ant jar和unjar任务将jar解压并打包到一个结果jar中:
但我不建议这样做。

当然可以。有几个开源项目可以通过包含所有依赖项的“bundle-jar”下载。
您需要提取所有jar,然后将它们再次jar到一个文件中。

可以看到使用Ant实现这一点的一个例子。

是的,这是可能的,结果jar实际上被称为“uberjar”或“megajar”。基本上,要创建一个“uberjar”,您需要提取外部库的内容(使用
jar-x
)并将其重新打包到您自己的jar中(使用
jar-c
)。这可以通过手工来实现,或者使用像Ant这样的构建工具(以及类似项目的可选支持)或Maven,它通过Maven程序集插件(或Maven HuffelPu外插件)

< p>具有内置的支持,如果您使用Maven,可以考虑或者汇编插件。

使用内置的ant脚本有一种简单的方法

还有一个问题指向这篇文章:


我添加了它,但它是一个我不知道如何使用它的傻瓜。有一个很棒的视觉教程。基本上,在修改ant脚本之后,转到文件选项卡(在左边的资源管理器中)=>右键单击xml=>运行任务=>其他任务=>用于存储的包(或任何您命名的脚本)

什么是“到java存档”?我想Jani希望将所有jar(库)放在一个jar中,并且只放在一个jar中。