加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何让maven构建在重复的依赖项上失败?

发布时间:2020-12-14 05:56:47 所属栏目:Java 来源:网络整理
导读:如果我有两个在同一个pom中相同的依赖项,我希望构建失败.目前,我可以使用Maven Dependency Plugin的“analyze-duplicate”检测它.然而,像其他一些人一样没有failOnWarning选项(另外,它在Info级别打印,而不是警告).有没有替代扩展这个? 解决方法 通常,当您希
如果我有两个在同一个pom中相同的依赖项,我希望构建失败.目前,我可以使用Maven Dependency Plugin的“analyze-duplicate”检测它.然而,像其他一些人一样没有failOnWarning选项(另外,它在Info级别打印,而不是警告).有没有替代扩展这个?

解决方法

通常,当您希望构建由于某种原因而失败时,可以使用一个好的插件来查看 Maven Enforcer Plugin.此插件可以配置一组规则,这些规则在验证后将无法构建.

在这种情况下,它需要是一个检查重复依赖关系的规则,并且只有一个内置规则:< banDuplicatePomDependencyVersions>.因此,你可以

<plugin>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>1.4.1</version>
  <executions>
    <execution>
      <id>enforce-no-duplicate-dependencies</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <banDuplicatePomDependencyVersions/>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>

遗憾的是,此规则没有记录(但是,它将在下一个版本中,见MENFORCER-259),但它自插件版本1.3(MENFORCER-152)起存在.

这个规则的作用是检查没有2个重复声明具有相同的’dependencies.dependency.(groupId:artifactId:type:classifier)’;也就是说,在POM中声明的具有相同组ID和工件id的两个声明的依赖项必须具有不同的类型和/或分类器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读