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

生产环境profile下如何隐藏Swagger?配置@Profile注解不生效求助

排查步骤
  • 确认@Profile注解导入路径正确,必须是org.springframework.context.annotation.Profile,导错包会直接导致注解不生效
  • 检查启动日志中The following profiles are active输出,确认实际激活的环境确实为local,启动参数、系统环境变量的优先级高于application.yml配置,可能会覆盖配置值
  • 排查项目中是否存在其他带@EnableSwagger2注解的类/配置,包括第三方引入的starter自带的自动配置类,你当前仅关闭了自定义的Swagger配置类,若其他位置也开启了Swagger注解,仍会触发加载
  • 确认SwaggerConfig类所在包在Spring的组件扫描范围内,若配置类未被扫描到,添加的@Profile注解不会生效
  • 若使用的是springdoc-openapi(Swagger3),检查是否未关闭默认自动装配,该依赖默认只要引入就会开启Swagger UI,与自定义配置类是否加载无关
快速解决方案

如果需要在local环境完全禁用Swagger,除了配置类加@Profile注解外,可以直接在application-local.yml中添加对应配置:

针对Swagger2

swagger:
  enabled: false

针对Swagger3(springdoc-openapi)

springdoc:
  swagger-ui:
    enabled: false
  api-docs:
    enabled: false

另外注意你贴出的配置类代码存在语法错误:build()后多写了一个右括号,类末尾缺失闭合右括号,建议先修正语法问题再测试。

内容的提问来源于stack exchange,提问作者Ulaş MÜEZZİNOĞLU

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:57:02