目前,在我的项目中,我在build.gradle中导入了2个bom依赖项(用于spring和spring gcp)。
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR3"
mavenBom "org.springframework.cloud:spring-cloud-gcp-dependencies:1.2.1.RELEASE"
}
}我怀疑它是否正确,因为spring-cloud的版本可能与spring-cloud-gcp不兼容。但是我找不到一个普通的BOM文件。
请你澄清这个问题好吗?
发布于 2020-03-13 12:47:44
这是正确的。导入Spring允许您省略指定其他Spring依赖项的版本。
通常,您希望将Spring与Spring对齐。也就是说,的一个版本是在Spring的特定发布序列上测试/构建的。
因此,对于您的示例,请查看v1.2.1.RELEASE的父程序:
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/>
</parent>因此Spring v1.2.1.RELEASE构建在SpringCloudv2.2.1.RELEASE之上。
现在,如果我检查Spring发行版的发行说明,我看到Hoxton.SR1是SpringCloudv2.2.1发布的一部分。
你的样本中有Greenwich.SR3。如果算上Hoxton.SR1,至少(3)版本落后于Spring。
因此,如果您现在还没有遇到不兼容问题,那么将来也会遇到这样的情况,因为在内部,可能有一个库正在使用不推荐的方法或其他内部更改的方法。
我还应该注意,如果您使用https://start.spring.io/并生成一个带有Spring依赖项的Gradle项目,则会省略Spring。因此,Spring的后期版本可能正在管理GCP依赖项。您可以尝试升级到最新的Spring发布培训,然后删除,看看会发生什么。
https://stackoverflow.com/questions/60670088
复制相似问题