是否有一个 Maven 插件可以验证传递依赖项的冲突版本?
Posted
技术标签:
【中文标题】是否有一个 Maven 插件可以验证传递依赖项的冲突版本?【英文标题】:Is there a maven plugin that will verify conflicting versions of transitive dependencies? 【发布时间】:2014-09-30 15:43:45 【问题描述】:是否有一个 Maven 插件可以验证传递依赖项的冲突版本,确保我不依赖于同一工件的不同版本?
理想情况下,我会挂接到 compile
生命周期,如果我同时导入依赖项 A 的版本 X 和 Y,它会导致构建失败。
【问题讨论】:
显然这是重复的:***.com/questions/3365201/…我很抱歉! 【参考方案1】:您可以使用 maven-enforcer-plugin 来完成。如果版本冲突,以下配置将导致构建失败:
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<DependencyConvergence/>
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
这里有更多细节:
http://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html
【讨论】:
以上是关于是否有一个 Maven 插件可以验证传递依赖项的冲突版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用不打包任何依赖项的 maven 程序集插件构建 jar?
如何使用maven shaded插件而不是两个创建一个包含所有依赖项的可执行jar