동일한 pom에서 동일한 두 개의 종속성이있는 경우 빌드가 실패합니다. 현재 나는 Maven Dependency Plugin의 "analyze-duplicate"로 그것을 탐지 할 수있다. 그러나 다른 옵션처럼 failOnWarning 옵션이 없습니다 (더하기 경고가 아닌 Info 레벨에서 인쇄됩니다). 이것을 확장하는 대안이 있습니까?중복 종속성에 실패 할 때 Maven 빌드를 얻으려면 어떻게해야합니까?
4
A
답변
5
일반적으로 빌드가 실패하기를 원할 때 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를 참조 다음 버전에있을 것입니다)하지만 플러그인 (MENFORCER-152) 버전 1.3부터 존재한다.
이 규칙은 동일한 중복 선언이 없음을 확인하는 것입니다. 'dependencies.dependency.(groupId:artifactId:type:classifier)'
; 즉 POM에 선언 된 동일한 그룹 ID 및 이슈 ID를 가진 두 개의 선언 된 종속성이 다른 유형 및/또는 분류자를 가져야합니다.