我正在研究多平台部署。 Perl和Python等语言总是令人沮丧的关键之一是部署第三方库和第二方库。
我想知道java构建过程是否允许将程序使用的所有非JRE库打包到jar中,以便可以将其部署到任何地方,而无需安装到任何其他目录中。
答案 0 :(得分:1)
不,jar文件不应该包含其他jar文件。这样做是可能的,但只有使用自定义类加载器才能使一切变得更加复杂。为什么不将jar及其所有依赖项压缩在一起:
myApp.zip
|_bin
| |_ start.bat
| |_ start.sh
|
|_lib
|_myApp.jar
|_other.jar
|_other2.jar
答案 1 :(得分:1)
我认为你正在寻找像fatjar或uberjar这样的东西。
这是构建过程中的一步,它解压缩所有依赖项并将它们打包在一个大jar中。