我使用 maven-shade-plugin 来重新定位依赖项,以避免在我的项目中出现类路径冲突。当运行“ mvn install”时,一切运行良好,但是当我运行“ mvn install”两次时,它将第二次失败。我收到如下错误:
创建阴影jar时出错:重复的条目:META-INF /...
这是由于拥有此变压器:
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"/>
不确定为什么会失败。这可能是一个错误。无论如何,如果不进行中间清理,我将无法运行该插件两次。
现在更大的问题是,在构建CI的过程中,我们运行“ mvn软件包验证” 。这将使Shade插件在构建中运行两次。当然,这是第二次失败。
我查看了有效的pom,没有发现任何异常。该插件不会重复两次。
是否可以通过某种方式将插件从验证阶段中排除?
答案 0 :(得分:1)
运行mvn package verify
是不明智的。
只需运行mvn verify
,就可以了。
verify
已包含package
。
答案 1 :(得分:0)
我解决了这个问题。看来 maven-source-plugin 正在干扰阴影插件。我正在使用源插件来提供重新定位的软件包的源代码。目标“聚合”以某种方式导致构建失败。删除总目标后,我不再遇到问题了