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

Spring Boot 3中@GrpcClient注入实例为null的问题解决咨询

Spring Boot 3下gRPC客户端注入null的解决办法

问题原因

你使用的net.devh:grpc-client-spring-boot-starter:2.13.0.RELEASE是基于Spring Boot 2.x开发的,完全不兼容Spring Boot 3.x(Spring Boot 3切换到Jakarta EE API,核心组件版本也有大幅升级),导致@GrpcClient注解无法完成正常注入,最终实例为null。

可行解决步骤

1. 升级gRPC Spring Boot Starter到兼容版本

将starter替换为支持Spring Boot 3的3.x系列(或更高)稳定版,比如3.2.0.RELEASE:

implementation group: 'net.devh', name: 'grpc-client-spring-boot-starter', version: '3.2.0.RELEASE'

2. 替换javax注解依赖为jakarta版本

Spring Boot 3全面迁移到Jakarta EE规范,移除了javax相关依赖,替换原有依赖:

// 移除旧依赖
// implementation 'javax.annotation:javax.annotation-api:1.3.2'
// 添加兼容的jakarta依赖
implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1'

3. 同步升级gRPC核心依赖

确保gRPC核心组件版本与starter兼容,比如搭配使用1.59.0(适配3.x系列starter的推荐版本):

implementation group: 'io.grpc', name: 'grpc-stub', version: '1.59.0'
implementation group: 'io.grpc', name: 'grpc-protobuf', version: '1.59.0'

4. 升级Protobuf插件(可选但推荐)

原插件版本0.9.2对Java 17和Spring Boot 3支持有限,建议升级到最新稳定版:

plugins {
    // ...其他插件
    id "com.google.protobuf" version "0.10.1"
}

5. 验证代码与配置

保持原有的application.yaml配置和SystemService代码不变,重新构建启动项目后,handymanClient即可正常注入。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:56:21