Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以将所有必需的库打包到一个Jar中(主Jar之外)?_Java - Fatal编程技术网

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

Java 是否可以将所有必需的库打包到一个Jar中(主Jar之外)?,java,Java,我想知道是否有可能在一个jar中插入所需的所有库 为什么?? 我有一个启动器,它启动一个可执行jar。这个启动器在运行时下载包含所有代码的字节 这里的问题是,我试图发送的这个罐子相当重,而且大部分重量只是库 一个好办法是在必要时下载libs,并始终在运行时下载实际代码(只有几兆字节) 结构应该是这样的: 所以,问题是,有没有办法把所有的罐子装在一个罐子里 另外,我如何访问我程序中的那些内容 谢谢 编辑 结构如下: jar1:我的代码,包括我编写的类和我在代码中可能使用的所有资源(例如图像)。此外

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

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

这里的问题是,我试图发送的这个罐子相当重,而且大部分重量只是库

一个好办法是在必要时下载libs,并始终在运行时下载实际代码(只有几兆字节)

结构应该是这样的:

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

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

谢谢

编辑

结构如下:

jar1:我的代码,包括我编写的类和我在代码中可能使用的所有资源(例如图像)。此外,我还需要有加载jar2所需的libs

jar2:我的代码在其最复杂的函数中使用的所有库(我希望它们都放在一个Jar中,而不是将guava、openJDK、ecc.All拆分)

我不想要的

一个包含所有内容的单个罐子的解决方案。我可以通过eclipse的导出功能实现这一点。而且,这不是我想要的。这意味着我想要一个与“胖罐子”完全相反的东西


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

您想要组装的工件称为“胖Jar”。Maven、Gradle或SBT等构建工具为您提供了一种组装它的方法


你可以阅读更多关于它的信息。

将它包括在一个建筑中是的,我该怎么做?@JaneS。使用诸如Maven或Gradle之类的工具来构建可执行jar(到一个称为胖jar的东西中,包含所有依赖项)。然后你就可以拿着这个肥罐子跑了。为Gradle和Maven使用包装器,这样您就不必将它们安装在目标系统上(包装器只是引导程序,与您的启动器一样,下载要执行的构建工具的实际代码),使用eclipse您也可以通过手动过程实现这一点。实际上,我想做的恰恰相反。我想将代码从库中分离出来(因此结果将是两个JAR,代码一个只包含加载其他库所需的基本库,另一个是完整的库)。我认为我搜索的恰恰相反。我想要两个jar,一个“slim”jar,其中包含从另一个jar检索lib所需的代码和基本库,另一个jar包含所有库。