是否可以将所有必需的库打包在一个Jar中(在主jar之外)?

时间:2017-12-13 21:19:03

标签: java

我想知道是否可以在一个jar中插入所需的所有库。

为什么呢? 我有一个启动器,启动一个可执行jar。该启动程序在运行时下载包含所有代码的字节。

这里的问题是我试图发送的这个jar很重,而且这个重量大部分只是库。

一个好处是在必要时下载lib,并在运行时下载实际代码(只有几兆字节)。

结构将是这样的:

所以,问题是,有没有办法将所有罐装在一个罐子里?

另外,我如何访问程序中的内容?

感谢。

修改

这是结构:

Jar 1 :我的代码,包括我编写的类以及我可能在我的代码中使用的所有资源(例如图像)。我还需要加载Jar 2

所需的库

Jar 2 :我的代码使用的所有库都是最复杂的函数(而不是让番石榴,openJDK,ecc。所有分裂,我喜欢它们一起放在一个罐子里)

我不想要的内容

包含所有内容的单个jar的解决方案。我可以用eclipse的导出功能来做到这一点。而且,这不是我要求的。这意味着我想要一个"胖罐"。

显然,我想知道如何构建Jar 2以及如何访问其中的lib。

1 个答案:

答案 0 :(得分:1)

您要组装的工件称为"胖JAR"。 Maven,Gradle或SBT等构建工具为您提供了组装工具的方法。

您可以详细了解here