由于我不相信Maven在依赖中介中为我选择"最佳"版本,如果存在未在pom中明确修复的版本冲突(通常使用dependencyManagement),我想使构建失败.
执行器插件的dependencyConvergence规则似乎是我正在寻找的,但不幸的是,它无法处理*-exludes(https://issues.apache.org/jira/browse/MENFORCER-195),所以我无法真正使用它.
有没有其他方法可以阻止Maven应用"最近的依赖性获胜规则",但是让pom的所有者决定使用哪个版本?
您可以使用依赖项版本范围明确定义 Maven 应使用的版本。
基本上,您只需要用圆括号(独占量词)或方括号(包含量词)将您的版本括起来。
例如:
<version>[4.2]</version>
Run Code Online (Sandbox Code Playgroud)
意味着:仅使用 4.2 版本,而不使用其他版本。
或者:
<version>[4.2,)</version>
Run Code Online (Sandbox Code Playgroud)
意思是:使用 4.2 或更高版本。
或者:
<version>(,4.2]</version>
Run Code Online (Sandbox Code Playgroud)
意思是:使用低于或正好 4.2 的版本。
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |