如何解决BOM表的dependencyManagement依赖关系?

时间:2019-09-10 00:09:53

标签: maven dependency-management maven-bom

我有一个相当大的项目的Maven BOM(物料清单),该项目在<dependencyManagement>块中包含数百个依赖项。我想先验证所有依赖项是否可以成功解决,然后再发布给公司的其他部门。

不幸的是,命令mvn dependency:resolve(以及其他dependency之类的dependency:tree命令)似乎只在标准<dependencies>块上运行,却忽略了{{1} }。我还可以使用其他命令吗?

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;)