springdoc-openapi按官方配置编译提示找不到符号如何解决
问题根因
编译报错是springdoc依赖版本冲突导致的:
- 你同时引入了两个版本差极大的springdoc组件:
springdoc-openapi-ui:1.6.9是高版本,springdoc-openapi-webmvc-core:1.2.32是非常老的低版本 - 1.2.x版本里的
GroupedOpenApi.Builder类根本没有group(String)方法,这个方法是后续高版本才新增的。Gradle编译时类加载优先级取了低版本1.2.32的类,自然会报找不到符号的错误 - IDEA不飘红是因为IDE本地做类关联时优先索引了高版本1.6.9的类,和Gradle实际编译时的类加载顺序不一致,属于IDE索引和实际构建逻辑的差异问题,不是代码写错了。
修复方法
不存在配置遗漏,只要修正冲突的依赖即可:
- 删掉单独引入的低版本
springdoc-openapi-webmvc-core依赖,springdoc-openapi-ui:1.6.9本身已经依赖了对应匹配版本的webmvc核心包,不需要重复单独引入 - 最终保留的依赖配置如下:
api "org.springdoc:springdoc-openapi-ui:1.6.9"
- 执行Gradle的clean任务清空旧构建缓存,刷新依赖后重新编译即可正常通过。
注意事项
如果后续确实需要单独引入webmvc-core组件,必须保证它的版本号和springdoc-ui的版本号完全一致,跨大版本混装必然会出现类找不到、方法不存在这类兼容性问题。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

