JPMS和fat \ uber可执行JAR-如何协同工作?

时间:2019-12-21 19:00:49

标签: maven jar java-11 maven-assembly-plugin

我想知道当使用JDK> 8(实际上是与JPMS一起使用)时,fat \ uber jar如何工作,以及可执行的jar。

我有两个与此主题有关的问题:

1。胖\超级jar创建\组装过程

每个Java模块通常是一个在根条目中保存module-info.class的jar。 我正在使用maven,并且正在使用maven程序集插件来构建fat \ uber jar(带有依赖项的jar引用描述符)。 如果我的应用程序依赖于许多模块化jar,那么这些jar将如何一起生活?毕竟每个jar的module-info.class都将覆盖另一个jar的module-info.class文件,因为所有module-info.class都应位于根条目中……?

(附带标记:我已经用创建的maven sample project对其进行了测试,发现最终的胖子罐中包含第一个遇到的依赖项module-info.class ONLY 。使用{ {1}}选项还发现,由于存在第一个文件,其他所有-X文件都被跳过了...)

2。可执行jar

众所周知,可执行jar可以与module-info.class一起运行。当以这种形式使用JDK 11时-我的(fat)jar及其所有依赖项是否将从类路径运行,并且将其视为未知模块的一部分?或从模块路径?

0 个答案:

没有答案