【发布时间】:2011-03-10 00:25:19
【问题描述】:
我有一个场景,我需要创建一个包含所有模块及其依赖项的多模块 maven 项目的 uber jar。我尝试使用 Maven 阴影插件。但它似乎只有在我在模块级别使用它时才有效。如果我在父 pom 中添加插件条目,那么构建会中断(它会尝试遮蔽父 pom)
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing null with C:\Projects\foo.bar\target\foobar-0.0.1-SNAPSHOT-shaded.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error creating shaded jar: null: NullPointerException -> [Help 1]
这似乎是有道理的,因为父 maven 项目的 <packaging> 是 pom。
但是应该有一些方法可以为多模块项目创建一个 uber jar ......有什么想法吗?
【问题讨论】:
-
可能的解决方法:为各个模块 jar 创建一个具有依赖关系的 maven 项目,并在此项目上使用着色器插件
-
不可能,这是正确的解决方案。
标签: maven maven-shade-plugin uberjar