有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否有springcloud和springcloudgcp的通用BOM文件?

目前在我的项目中,我在我的build.gradle中导入了2个bom依赖项(用于spring cloud和spring cloud 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表文件

你能澄清一下这个问题吗


共 (1) 个答案

  1. # 1 楼答案

    这是正确的。导入Spring Cloud GCP BOM允许您省略指定其他Spring Cloud GCP依赖项的版本

    一般来说,您希望Spring与GCP Cloud对齐。也就是说,SpringCloudGCP的一个版本是在SpringCloud的一个特定发布序列上测试/构建的

    因此,对于您的示例,请查看v1的父级。2.1.我明白了:

    https://github.com/spring-cloud/spring-cloud-gcp/blob/v1.2.1.RELEASE/spring-cloud-gcp-dependencies/pom.xml#L8

    <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/>
    </parent>
    

    所以春季云GCPV1。2.1.该版本构建在SpringCloudV2之上。2.1.释放

    现在,如果我检查SpringCloud发行系列的发行说明,I see that Hoxton.SR1 is the release train that Spring Cloud v2.2.1.RELEASE was part of

    你有格林威治。您的样本中有SR3。如果我们算上霍克斯顿,您至少落后于SpringCloud(4)个版本。SR1

    因此,如果您现在还没有遇到不兼容问题,那么您将来也会遇到,因为可能有一个库在内部使用了不推荐的方法或其他内部更改的方法


    我还应该注意,如果您使用https://start.spring.io/并生成一个带有一些Spring Cloud GCP依赖项的Gradle项目,那么Spring Cloud GCP BOM将被省略。因此,SpringCloud的更高版本可能正在管理GCP依赖项。您可以尝试升级到最新的SpringCloud发布系列,然后删除SpringCloudGCP BOM,看看会发生什么