OpenAPI Maven Generator插件报错:spring-boot库不被识别
解决swagger-codegen-maven-plugin报错"Unknown library: spring-boot"的问题
你遇到的问题很明确:当前使用的swagger-codegen-maven-plugin 3.0.34版本里,spring语言对应的library参数根本没有spring-boot这个可选值,报错里列的可用列表也能验证这一点。
两种解决办法:
1. 升级插件版本
较新的插件版本已经添加了spring-boot作为合法选项。把插件版本升到3.0.50及以上(比如3.0.52),修改pom里的插件版本配置:
<plugin> <groupId>io.swagger.codegen.v3</groupId> <artifactId>swagger-codegen-maven-plugin</artifactId> <version>3.0.52</version> <!-- 其余配置保持不变 --> </plugin>
2. 调整library配置
如果不想升级插件,直接删掉<library>spring-boot</library>这一行就行——spring语言默认生成的代码本来就兼容Spring Boot。要是你需要指定特定的HTTP客户端实现,也可以换成报错列表里支持的值,比如resttemplate或者webclient:
<configOptions> <interfaceOnly>true</interfaceOnly> <skipDefaultInterface>true</skipDefaultInterface> <sourceFolder>/</sourceFolder> <!-- 移除spring-boot的library配置,或者替换为支持的选项 --> <dateLibrary>java17</dateLibrary> </configOptions>
另外提个额外建议:你项目里同时用了springfox 2.9.2和swagger-core 2.1.12,这俩都是Swagger相关依赖,版本差异可能引发冲突。而且springfox已经停止维护了,建议换成springdoc-openapi这类活跃维护的OpenAPI工具,不过这不是当前报错的直接原因,仅供参考。
内容的提问来源于stack exchange,提问作者codeNEWBYE
相关产品推荐
相关产品推荐

