开发者社区 问答 正文

5.3版本protobuf-java包版本冲突,有什么办法解决?

java.lang.IllegalStateException: Failed to execute ApplicationRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:807) at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:794) at org.springframework.boot.SpringApplication.run(SpringApplication.java:324) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) at com.cangowin.CampusApiImpApplication.main(CampusApiImpApplication.java:25) Caused by: java.lang.UnsupportedOperationException: This is supposed to be overridden by subclasses. at com.google.protobuf.GeneratedMessage.getUnknownFields(GeneratedMessage.java:262) at com.alicloud.openservices.tablestore.core.protocol.OtsInternalApi$ListTableRequest.getSerializedSize(OtsInternalApi.java:15259) at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:69) at com.alicloud.openservices.tablestore.core.OperationLauncher.asyncInvokePost(OperationLauncher.java:117) at com.alicloud.openservices.tablestore.core.ListTableLauncher.fire(ListTableLauncher.java:53) at com.alicloud.openservices.tablestore.InternalClient.listTable(InternalClient.java:239) at com.alicloud.openservices.tablestore.SyncClient.listTable(SyncClient.java:142) at com.cangowin.campus.init.InitTableStoreService.initTable(InitTableStoreService.java:48) at com.cangowin.campus.init.InitTableStoreService.run(InitTableStoreService.java:40) at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:804) ... 5 common frames omitted

本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。

展开
收起
初商 2019-09-12 10:42:00 1836 分享 版权
阿里云 AI 助理回答

这个错误信息表明在运行一个基于Spring Boot的应用时,尝试使用阿里云Table Store(原OTS)服务列出表(listTable)时遇到了问题。具体来说,错误源于protobuf库中的一个方法getUnknownFields没有被正确地覆盖,导致了UnsupportedOperationException

这里有几个可能的解决步骤:

  1. 检查依赖版本:确保你使用的阿里云Table Store SDK版本与你的项目中其他依赖(特别是protobuf相关依赖)兼容。不兼容的版本可能导致此类异常。你可以查看阿里云Table Store SDK的官方文档或发布说明,确认推荐的依赖版本,并在你的项目中进行相应更新。

  2. 升级或降级SDK版本:如果当前版本的SDK存在已知的问题,尝试升级到最新版本或者回退到一个稳定版本,看是否能解决问题。这通常可以通过修改项目的构建文件(如pom.xml或build.gradle)来实现。

  3. 查看是否有API使用不当:仔细检查你的InitTableStoreService.initTable方法中的代码,确保你调用阿里云Table Store API的方式是正确的。有时候,即使SDK版本兼容,错误的参数传递或不恰当的API使用也可能引发异常。

  4. 跟踪SDK源码和更新:考虑到错误信息中提到的特定行数(如OtsInternalApi.java:15259),可以尝试查看阿里云Table Store SDK的源码(如果可获得的话),了解该方法的具体实现和预期行为。有时,官方文档或GitHub上的issue可能会提供有关此问题的线索或解决方案。

  5. 寻求官方支持:如果上述步骤都无法解决问题,建议直接联系阿里云的技术支持或在阿里云开发者社区发帖询问。提供详细的错误信息、使用的SDK版本以及相关代码片段,以便获取更专业的帮助。

记得在进行任何更改后重新编译和测试你的应用,以验证问题是否得到解决。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: