我有一个相当大的项目的Maven BOM(物料清单),该项目在<dependencyManagement>
块中包含数百个依赖项。我想先验证所有依赖项是否可以成功解决,然后再发布给公司的其他部门。
不幸的是,命令mvn dependency:resolve
(以及其他dependency
之类的dependency:tree
命令)似乎只在标准<dependencies>
块上运行,却忽略了{{1} }。我还可以使用其他命令吗?
答案 0 :(得分:1)
这也是我同样需要的东西,所以我今天花了几个小时来制作一个可以做到这一点的插件。添加
<plugin>
<groupId>com.commsen.maven</groupId>
<artifactId>bom-helper-maven-plugin</artifactId>
<version>0.1.0</version>
<executions>
<execution>
<id>resolve</id>
<phase>verify</phase>
<goals>
<goal>resolve</goal>
</goals>
</execution>
</executions>
</plugin>
BOM的pom
应该使其在verify
阶段运行,并尝试解决dependencyManagement
部分中的每个依赖关系。
我用非常大的BOM表测试了它,似乎可以完成工作。
也就是说,它不是很好的设计或可配置的。可能有很多问题需要解决(例如,它没有解决预选赛),并且需要进行改进。
尝试一下,如果您觉得它总体上有用,但希望做更多或更好的事情,请open an issue或更好,发送pull request;)