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

访问v3/api-docs时出现java.lang.NoSuchMethodError问题求助

解决OpenAPI相关依赖版本冲突导致的NoSuchMethodError问题

这个错误的核心原因是依赖版本不兼容:你当前使用的swagger-core 2.1.12与OpenAPI 1.6.12版本不匹配,io.swagger.v3.oas.models.media.Schema类的addProperty()方法在高版本的openapi-core中被移除或修改了方法签名,类路径里加载的是不兼容的Schema类,导致找不到指定方法。

具体解决步骤:

  • 统一核心依赖版本
    swagger-core 2.1.12对应的兼容openapi-core版本是1.0.62,而非你当前使用的1.6.12。openapi-core 1.6.x属于更高版本,和swagger-core 2.1.12的API不兼容。你需要将openapi-core降级到匹配的版本,或者升级swagger-core到2.2.x+(该版本开始依赖openapi-core 2.x,API签名已调整)。

  • 排查并清理冲突依赖
    用依赖分析工具检查项目依赖树,确保只有一个版本的openapi-core存在:

    • Maven项目执行命令:mvn dependency:tree
    • Gradle项目执行命令:./gradlew dependencies
      找到所有冲突的openapi-core依赖,通过依赖排除机制移除不兼容版本,再手动引入匹配的版本。例如Maven配置示例:
    <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-core</artifactId>
        <version>2.1.12</version>
        <exclusions>
            <exclusion>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>openapi-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>openapi-core</artifactId>
        <version>1.0.62</version>
    </dependency>
    
  • 验证Swagger UI兼容性
    swagger-ui 4.1.3支持OpenAPI v3规范,只要后端的v3/api-docs接口能正常生成文档,解决核心依赖冲突后,UI访问即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:15:29