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 点击链接欢迎加入感兴趣的技术领域群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误信息表明在运行一个基于Spring Boot的应用时,尝试使用阿里云Table Store(原OTS)服务列出表(listTable)时遇到了问题。具体来说,错误源于protobuf库中的一个方法getUnknownFields
没有被正确地覆盖,导致了UnsupportedOperationException
。
这里有几个可能的解决步骤:
检查依赖版本:确保你使用的阿里云Table Store SDK版本与你的项目中其他依赖(特别是protobuf相关依赖)兼容。不兼容的版本可能导致此类异常。你可以查看阿里云Table Store SDK的官方文档或发布说明,确认推荐的依赖版本,并在你的项目中进行相应更新。
升级或降级SDK版本:如果当前版本的SDK存在已知的问题,尝试升级到最新版本或者回退到一个稳定版本,看是否能解决问题。这通常可以通过修改项目的构建文件(如pom.xml或build.gradle)来实现。
查看是否有API使用不当:仔细检查你的InitTableStoreService.initTable
方法中的代码,确保你调用阿里云Table Store API的方式是正确的。有时候,即使SDK版本兼容,错误的参数传递或不恰当的API使用也可能引发异常。
跟踪SDK源码和更新:考虑到错误信息中提到的特定行数(如OtsInternalApi.java:15259
),可以尝试查看阿里云Table Store SDK的源码(如果可获得的话),了解该方法的具体实现和预期行为。有时,官方文档或GitHub上的issue可能会提供有关此问题的线索或解决方案。
寻求官方支持:如果上述步骤都无法解决问题,建议直接联系阿里云的技术支持或在阿里云开发者社区发帖询问。提供详细的错误信息、使用的SDK版本以及相关代码片段,以便获取更专业的帮助。
记得在进行任何更改后重新编译和测试你的应用,以验证问题是否得到解决。