使 maven-enforcer-plugin 依赖收敛规则忽略工件的次要版本

Make maven-enforcer-plugin dependency convergence rule ignore minor version of artifact

我想在我的maven项目中引入maven-enforcer-plugin但不想在评估规则时比较错误修复版本。

例如:groupId-artifactId-X.Y.AgroupId-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.6671.21.700 等版本。 如果 feature/major 版本不同,如 1.21.6671.17.111

,它应该只引发错误

当前规则无法做到这一点。

您需要为此编写自己的执行器规则。