You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.5.14集成GCP Secret Manager的依赖与配置问题

解决Spring Boot 2.5.14集成GCP Secret Manager的依赖与配置问题

一、正确依赖版本匹配

Spring Boot 2.5.x需搭配Spring Cloud GCP 3.2.x(适配Spring Cloud 2020.0.x版本线),以下是Maven配置:

pom.xml 依赖管理配置

<dependencyManagement>
    <dependencies>
        <!-- Spring Cloud GCP 依赖管理,适配Spring Boot 2.5.x -->
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>spring-cloud-gcp-dependencies</artifactId>
            <version>3.2.2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- Spring Cloud 2020.0.x 依赖管理,对应Spring Boot 2.5.x -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2020.0.6</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

核心依赖配置

<dependencies>
    <!-- GCP Secret Manager 启动器 -->
    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>spring-cloud-gcp-starter-secretmanager</artifactId>
    </dependency>
    <!-- Bootstrap启动器,用于解析${sm://xxx}格式配置 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
        <version>3.0.6</version> <!-- 与Spring Cloud 2020.0.x版本匹配 -->
    </dependency>
</dependencies>

二、配置文件修正

  1. 确保配置使用正确的sm://格式:

    • 完整路径示例(application.properties):
    db.password=${sm://projects/你的项目ID/secrets/密钥名称/versions/latest}
    
    • 简化格式(默认取当前项目最新版本密钥):
    db.password=${sm://密钥名称}
    
  2. 启用Secret Manager功能:

    spring.cloud.gcp.secretmanager.enabled=true
    # 若自动识别项目ID失败,手动指定
    # spring.cloud.gcp.project-id=你的项目ID
    

三、问题原因说明

  • 之前使用的spring-cloud-gcp-dependencies 4.0.0是适配Spring Boot 3.x的版本,与2.5.x不兼容,导致配置解析逻辑异常,出现//xxx的错误结果。
  • Spring Cloud 2020.0.x版本后,Secret Manager Starter已从org.springframework.cloud组迁移到com.google.cloud组,必须使用新组的依赖。

内容的提问来源于stack exchange,提问作者cobolstinks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 01:35:45