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

使用SBT运行Play应用时出现snakeyaml相关NoSuchMethodError异常

问题原因

snakeyaml 2.0做了破坏性API变更,org.yaml.snakeyaml.constructor.SafeConstructor的无参构造方法被移除,替代为需要传入LoaderOptions参数的构造方法。但你的项目依赖的swagger-v3-parser或atlassian-oai-validator库仍在调用这个已被移除的无参构造方法,导致运行时抛出NoSuchMethodError。

解决方案
  • 回退snakeyaml版本:暂时降级到与依赖库兼容的版本(如1.33),在SBT中配置:
    // 直接指定兼容版本
    libraryDependencies += "org.yaml" % "snakeyaml" % "1.33"
    // 或者强制统一版本,避免依赖冲突
    dependencyOverrides += "org.yaml" % "snakeyaml" % "1.33"
    
  • 升级依赖库版本:检查并升级swagger-v3-parser和atlassian-oai-validator到适配snakeyaml 2.0的版本。例如swagger-parser 2.1.16及后续版本已修复该兼容性问题,atlassian-oai-validator也有对应更新版本,直接在SBT中更新这些依赖的版本即可。
  • 排除冲突依赖(不推荐优先使用):如果暂时无法升级依赖库,可在引入有问题的库时排除旧的snakeyaml依赖,但仅当依赖库能兼容新版本时有效:
    libraryDependencies += "io.swagger.parser.v3" % "swagger-parser" % "你的当前版本" exclude("org.yaml", "snakeyaml")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:53:35