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

Scala调用AWS Glue Schema Registry获取schema版本ID报错如何解决

问题修复方案

这个报错属于典型的AWS SDK版本冲突引发的NoSuchMethodError,本质是运行时加载的aws-java-sdk-core包版本,和schemas服务对应的SDK模块版本不匹配,缺少对应方法实现,可按以下步骤修复:

  • 第一步:移除重复依赖
    你不需要同时引入aws-java-sdk-core和全量aws-java-sdk依赖,全量包已经内置了core模块,重复引入极易触发版本冲突,直接删掉如下依赖配置即可:
    "com.amazonaws" % "aws-java-sdk-core" % "1.12.93" % Compile
    
  • 第二步(可选优化):替换为轻量化依赖
    全量aws-java-sdk包体积很大,建议直接替换成你需要的schemas服务单独依赖,既能降低冲突概率,也能减少打包体积:
    // 把原来的全量aws-java-sdk依赖替换为下面这行
    "com.amazonaws" % "aws-java-sdk-schemas" % "1.12.93" % Compile
    
  • 第三步:排查传递依赖冲突
    如果修改后仍然报错,执行sbt的dependencyTree命令,过滤所有com.amazonaws开头的依赖,确保所有AWS SDK模块的版本完全一致,把其他依赖传递引入的不同版本AWS SDK手动排除即可。

额外提示:你当前的代码是查询符合前缀的schema列表,如果你要获取指定schema名称的所有版本ID,应该用ListSchemaVersionsRequest,参考代码如下:

val versionRequest = new ListSchemaVersionsRequest()
versionRequest.setRegistryName("registry")
versionRequest.setSchemaName("你要查询的schema完整名称")
// 获取所有版本ID
val versionIds = schemas.listSchemaVersions(versionRequest).getSchemaVersions.asScala.map(_.getSchemaVersionId)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:18:01