是否有一个 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 pom.xml 中更改传递依赖项的版本

如何使用maven shaded插件而不是两个创建一个包含所有依赖项的可执行jar

查看类依赖图插件? [关闭]

我是不是必须明确检查/履行(Java)项目的所有传递依赖项的许可证?

是否有Maven插件可以为主JAR和所有依赖的jar构建一个zip文件?