如果我在同一个pom中有两个相同的依赖项,我希望构建失败。目前,我可以通过Maven Dependency Plugin" analyze-duplicate"来检测它发生的情况。然而,像其他一些人一样,没有选择failOnWarning的选项(另外,它在Info级别打印,而不是警告)。是否可以选择扩展它?
答案 0 :(得分:7)
通常,当您希望构建因某种原因失败时,可以使用好的插件来查看Maven Enforcer Plugin。这个插件可以配置一组规则,经验证后,这些规则将无法构建。
在这种情况下,它需要是一个检查重复依赖项的规则,并且只有一个内置规则:<div id="filterController" ng-controller="gridController as ctrl" style="max-height=500px" ng-cloak>
<div id="filters" ng-repeat="x in areas" ng-class="{'selected': clicked}" ng-click="clicked = !clicked;filt();">{{x}}</div>
</div>
<div id="gridContainer" ng-controller="gridController as ctrl" ng-cloak>
<md-content layout-padding style="clear: both;">
<md-grid-list
md-cols-gt-md="9" md-cols-sm="1" md-cols-md="6"
md-row-height-gt-md="1:1" md-row-height="4:3"
md-gutter-gt-md="16px" md-gutter-gt-sm="8px" md-gutter="4px">
<md-grid-tile
ng-class="{'flipped': clicked}" ng-click="clicked = !clicked"
ng-repeat="tile in colorTiles | filter:filterAreas"
md-colspan-gt-sm="{{tile.colspan}}"
md-rowspan-gt-sm="{{tile.rowspan}}">
<div id="f1_card" class="shadow">
<div class="front face" style="background-color: tile.color !important;" ng-style="{
'background': tile.color
}">
<div >
<a>
some stuff
</a>
</div>
</div>
<div class="back face center" style="background-color: tile.color !important;" ng-style="{
'background': tile.color
}">
<div style= "position: relative;">
<a >
some stuff
</a>
</div>
</div>
</div>
</md-grid-tile>
</md-grid-list>
</md-content>
</div>
。因此,你可以
<banDuplicatePomDependencyVersions>
遗憾的是,此规则没有记录(但是,它将在下一个版本中,请参阅MENFORCER-259),但它从插件的版本1.3(MENFORCER-152)开始存在。
此规则的作用是检查没有2个具有相同<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>
的重复声明;也就是说,在POM中声明的具有相同组ID和工件id的两个声明的依赖项必须具有不同的类型和/或分类器。