SpringDoc OpenAPI MVC Starter无法识别Lombok @Data注解类字段
解决Spring OpenAPI无法识别Lombok @Data生成类的问题
针对你遇到的Swagger UI中Lombok标注类Schema为空的问题,可按以下步骤排查解决:
1. 添加springdoc-openapi-lombok专用依赖
springdoc官方提供了适配Lombok的扩展依赖,能自动识别Lombok生成的getter/setter,无需手动编写。在pom.xml中加入:
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-lombok</artifactId> <version>2.2.0</version> </dependency>
注意版本要和你使用的springdoc-openapi-starter-webmvc-ui保持一致(此处为2.2.0)。
2. 确认Lombok版本兼容
Spring Boot 3要求Java 17+,需确保Lombok版本在1.18.24及以上——旧版本对Java 17的字节码处理存在兼容性问题。更新pom.xml中的Lombok依赖:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <scope>provided</scope> </dependency>
3. 检查Maven注解处理器配置完整性
即使你已配置注解处理器,仍需确保maven-compiler-plugin的annotationProcessorPaths明确包含Lombok,且版本与依赖一致:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>17</source> <target>17</target> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>
4. 验证编译与重启服务
执行mvn clean install重新编译项目,确保Lombok生成的字节码被正确处理,之后重启Spring Boot服务,再打开Swagger UI即可看到@Data类的字段正常显示。
内容的提问来源于stack exchange,提问作者tomaytotomato
相关产品推荐
相关产品推荐

