使用Google Pub/Sub时为何无法导入com.google.protobuf.util的JsonFormat?
问题根因
JsonFormat类属于protobuf-java-util独立构件,你当前引入的google-cloud-pubsub仅传递依赖了protobuf核心运行库protobuf-java,不会默认引入工具类构件,因此无法找到对应类。
修复方案
- 修改
build.gradle依赖配置,新增protobuf-java-util引入声明,你已经引入了Google Cloud官方BOM,已经统一管控了protobuf版本,无需额外指定版本号:
// google cloud implementation platform('com.google.cloud:libraries-bom:22.0.0') implementation 'com.google.cloud:google-cloud-pubsub' // 新增依赖:protobuf工具包,包含JsonFormat实现 implementation 'com.google.protobuf:protobuf-java-util'
- 刷新项目依赖
- 打开IntelliJ IDEA右侧Gradle工具栏,点击刷新按钮同步依赖
- 若同步后仍未识别,可先在项目根目录执行
./gradlew dependencies(Windows环境执行gradlew.bat dependencies)确认依赖已正常拉取,再重启IDEA即可。
注意:不要手动指定
protobuf-java-util的版本号,避免和BOM管理的其他Google Cloud依赖的protobuf版本冲突,导致运行时类不兼容问题。
内容的提问来源于stack exchange,提问作者Blind
相关产品推荐
相关产品推荐

