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

Spring Boot 3 Native环境下Springdoc v2无法访问Swagger UI的问题

解决方案:Spring Boot 3 + Springdoc v2 原生镜像Swagger UI 404问题

原因分析

GraalVM原生镜像构建默认不会自动打包第三方库中的静态资源,Swagger UI的前端文件属于Springdoc依赖的静态资源,在原生镜像构建过程中未被正确包含,导致访问时返回404。

解决步骤

1. 配置GraalVM资源包含规则

在项目的src/main/resources/META-INF/native-image目录下创建native-image.properties文件,添加以下配置,确保Swagger UI相关静态资源被打包进原生镜像:

Args = -H:IncludeResources="swagger-ui.*|swagger-ui/.*|openapi.*"

2. 补充原生支持依赖(可选但推荐)

显式引入Springdoc的原生支持依赖,增强GraalVM对Springdoc组件的兼容性:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-native</artifactId>
    <version>2.0.0</version>
    <scope>runtime</scope>
</dependency>

3. 重新构建并运行原生镜像

执行以下命令清理项目、构建原生镜像并启动:

./mvnw clean package -Pnative
./target/demo

完成后访问http://localhost:8080/swagger-ui/index.html,即可正常加载Swagger UI页面。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:06:13