使 maven-enforcer-plugin 依赖收敛规则忽略工件的次要版本
Make maven-enforcer-plugin dependency convergence rule ignore minor version of artifact
我想在我的maven项目中引入maven-enforcer-plugin
但不想在评估规则时比较错误修复版本。
例如:groupId-artifactId-X.Y.A
和 groupId-artifactId-X-Y-B
不应被视为规则失败。
当前的插件配置如下所示
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
<banDuplicatePomDependencyVersions/>
<dependencyConvergence/>
</rules>
</configuration>
</execution>
</executions>
</plugin>
如果一个工件,假设 aws-java-sdk
作为传递依赖从两个不同的直接列出的依赖项中被拉入,如果 aws-java-sdk
的版本仅次要不同,则插件不应引发错误1.21.667
和 1.21.700
等版本。
如果 feature/major 版本不同,如 1.21.667
和 1.17.111
,它应该只引发错误
当前规则无法做到这一点。
您需要为此编写自己的执行器规则。
我想在我的maven项目中引入maven-enforcer-plugin
但不想在评估规则时比较错误修复版本。
例如:groupId-artifactId-X.Y.A
和 groupId-artifactId-X-Y-B
不应被视为规则失败。
当前的插件配置如下所示
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>1.8</version>
</requireJavaVersion>
<banDuplicatePomDependencyVersions/>
<dependencyConvergence/>
</rules>
</configuration>
</execution>
</executions>
</plugin>
如果一个工件,假设 aws-java-sdk
作为传递依赖从两个不同的直接列出的依赖项中被拉入,如果 aws-java-sdk
的版本仅次要不同,则插件不应引发错误1.21.667
和 1.21.700
等版本。
如果 feature/major 版本不同,如 1.21.667
和 1.17.111
当前规则无法做到这一点。
您需要为此编写自己的执行器规则。