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

Spring Boot整合Swagger UI启动触发UnsatisfiedDependencyException异常求助

解决Spring Boot 3 + Swagger UI启动崩溃的兼容性问题

我帮你分析下问题的核心原因和对应的解决办法:

问题根源:版本兼容性冲突

你当前使用的Spring Boot 3.0.0-SNAPSHOT是基于Jakarta EE 9+的版本(API包路径从javax.*迁移到jakarta.*),而你引入的springdoc-openapi:1.6.6是为Spring Boot 2.x设计的,它依赖旧的javax.* API,两者类路径不兼容,导致启动时出现类 introspect 失败的异常。

具体解决方案

1. 升级springdoc-openapi到适配Spring Boot 3的版本

springdoc从2.x版本开始全面支持Spring Boot 3,需要替换原有的springdoc依赖为最新的starter包:

// 替换原有的springdoc依赖
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0")
implementation("org.springdoc:springdoc-openapi-kotlin:2.2.0")

注:springdoc 2.x版本改用starter封装依赖,不再需要单独引入springdoc-openapi-ui和springdoc-openapi-core,starter会自动管理相关依赖。

2. 切换到Spring Boot稳定版

3.0.0-SNAPSHOT是开发预览版,存在大量未修复的兼容性问题,建议替换为正式发布的稳定版,比如:

plugins {
    id("org.springframework.boot") version "3.2.0"
    // 其他插件版本保持适配即可
}

3. 调整Kotlin版本适配Spring Boot 3

Spring Boot 3.x要求Kotlin版本至少为1.8.x,你当前使用的1.6.20-RC版本过低,建议升级:

plugins {
    kotlin("jvm") version "1.8.22"
    kotlin("plugin.spring") version "1.8.22"
}

4. 优化JOOQ依赖配置

你的JOOQ部分依赖属于构建时工具,无需放入运行时依赖,调整如下:

// 运行时依赖保留核心包
implementation("org.jooq:jooq-meta")
implementation("org.jooq:jooq-kotlin")
implementation("org.jooq:jooq-meta-extensions")

// 代码生成工具放在annotationProcessor中
annotationProcessor("org.jooq:jooq-codegen")
// 移除jooq-codegen-maven(Gradle环境下不需要)

5. 检查并清理依赖冲突

运行Gradle命令查看依赖树,排查是否存在javax.*和jakarta.*的混合依赖:

./gradlew dependencies

如果发现有遗留的javax.*依赖,通过exclude排除,例如:

implementation("某依赖") {
    exclude(group = "javax.servlet")
}

额外排查点

如果升级后仍有问题,检查你的SecurityConfig是否正确配置了Swagger端点的访问权限:

@Configuration
class SecurityConfig {
    @Bean
    fun securityFilterChain(http: HttpSecurity): SecurityFilterChain {
        http.authorizeHttpRequests { auth ->
            // 允许Swagger相关端点无需认证
            auth.requestMatchers("/swagger-ui/**", "/v3/api-docs/**").permitAll()
            // 其他请求配置认证
            auth.anyRequest().authenticated()
        }
        return http.build()
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 17:02:46