我正在尝试使用BOM来通过Gradle 5构建项目A。创建的pom文件未正确包含BOM或来自它的依赖项(请参见下文)。此外,尝试构建依赖于A的项目B失败于项目A的pom。
使用DependencyManagementPlugin(即不使用Gradle 5本机支持)时,一切正常:
apply plugin:
io.spring.gradle.dependencymanagement.DependencyManagementPlugin
dependencyManagement {
imports {
mavenBom 'myGroup:infra-bom:1.0.+'
}
}
在项目A的pom中的dependencyManagement块中创建此代码:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>infra-bom</artifactId>
<version>1.0.25</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
尝试使其与Gradle 5兼容并不是很幸运:
依赖性{
compile platform ('myGroup:infra-bom:1.0.+')
...
...
}
gradle依赖项显示了BOM的正确版本,但它是在现有依赖项块中的项目A的pom中创建的:
<dependency>
<groupId>myGroup</groupId>
<artifactId>infra-bom</artifactId>
<version>null</version> // note the null here
<scope>compile</scope>
</dependency>
尝试使用它的构建失败。
我是否正确使用了对材料明细表的Gradle 5本机支持?它包括什么?