maven - 使 maven-enforcer-plugin 依赖收敛规则忽略工件的次要版本
问题描述
我想maven-enforcer-plugin
在我的 maven 项目中引入,但不想在评估规则时比较错误修复版本。
例如: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
1.21.667
1.17.111
解决方案
这在现行规则下是不可能的。
您需要为此编写自己的实施者规则。
推荐阅读
- python - 带有 GMT 值的 Django Pytz 时区全名
- python - scrapy-splash 给我这个错误“HTTP 状态代码未处理或不允许”
- css - React Material UI – 使用 UI Grid 将屏幕一分为二,一半可滚动,另一半固定
- sql - 使用 2 组,是否可以将第 2 组拆分为列?
- deep-learning - 为什么当有 5GB 可用内存时 pytorch(CUDA) 无法分配 290MB
- sql-server - 无法访问 Azure SQL Server - 登录失败
- python - 如何从 Python 中的字典列表中更改特定值
- for-loop - roblox 中的“限制必须是数字”错误(数据保存和加载)
- cassandra - 在 Cassandra 中处理不可压缩/重叠的 sstable
- vue.js - 为什么 keydown 事件会被广播到新渲染的组件?