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

Spring Cloud GCP 4.1.4 logging starter依赖过时组件,是否为Bug?

问题分析与解答

这不是你的理解有误,属于Spring Cloud GCP适配Spring Boot 3.x过程中存在的依赖过渡兼容问题,具体拆解如下:

1. javax.annotation-api 依赖问题

Spring Boot 3.x 全面切换到 Jakarta EE 规范,所有 javax.* 包都被替换为 jakarta.* 包,但 google-cloud-logging-logback 0.130.9-alpha 作为 Google Cloud Java 客户端的旧版本,尚未完成 Jakarta 规范的迁移,因此还在依赖 javax.annotation-api。这种情况是组件适配滞后导致的,不属于你配置错误。

2. Apache HttpComponents 版本问题

HttpComponents 5.x 是 4.x 的升级大版本,虽然 Spring Boot 3.x 生态更倾向于使用 5.x,但 Google Cloud Java 客户端的旧版本(如 0.130.9-alpha)仍依赖 4.x 系列。这同样是组件版本迭代不同步导致的,并非你的理解偏差。

临时解决方案

  • 排除过时依赖并替换:在你的构建文件(Maven pom.xml 或 Gradle build.gradle)中,排除 google-cloud-logging-logback 依赖的 javax.annotation-api、httpclient、httpcore,然后手动引入对应的 Jakarta 版本和 HttpComponents 5.x 版本。
    示例(Maven):
    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>spring-cloud-gcp-starter-logging</artifactId>
        <version>4.1.4</version>
        <exclusions>
            <exclusion>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 引入Jakarta替代包 -->
    <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>2.1.1</version>
    </dependency>
    <!-- 引入HttpComponents 5.x -->
    <dependency>
        <groupId>org.apache.httpcomponents.client5</groupId>
        <artifactId>httpclient5</artifactId>
        <version>5.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents.core5</groupId>
        <artifactId>httpcore5</artifactId>
        <version>5.2.1</version>
    </dependency>
    
  • 关注版本更新:Google Cloud Java 客户端的新版本已经完成了 Jakarta 适配和 HttpComponents 升级,后续 Spring Cloud GCP 可能会更新依赖的客户端版本,你可以留意 Spring Cloud GCP 的发布日志,等待官方修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:17:35