Spring Boot集成springdoc-openapi-javadoc后Lombok@Slf4j失效求助
问题根源
你遇到的编译报错是因为配置maven-compiler-plugin的annotationProcessorPaths时,未将Lombok的注解处理器纳入其中,导致编译阶段Lombok无法生成@Slf4j对应的log变量。当显式配置注解处理器路径后,Maven不会自动加载项目依赖中的其他注解处理器,必须手动声明所有需要的处理器。
解决方案
1. 调整Maven编译插件配置
修改maven-compiler-plugin的配置,在annotationProcessorPaths中同时添加Lombok、therapi及springdoc的注解处理器依赖:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <!-- 加入Lombok注解处理器 --> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <!-- 替换为你项目使用的Lombok版本 --> </path> <!-- therapi运行时javadoc注解处理器 --> <path> <groupId>com.github.therapi</groupId> <artifactId>therapi-runtime-javadoc-scribe</artifactId> <version>0.15.0</version> <!-- 适配springdoc 1.6.12的版本 --> </path> <!-- springdoc-openapi-javadoc依赖 --> <path> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-javadoc</artifactId> <version>1.6.12</version> </path> </annotationProcessorPaths> </configuration> </plugin>
2. 确认Lombok依赖配置
确保项目中Lombok的依赖配置正确,scope设置为provided:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency>
3. 重新编译项目
执行Maven命令清理并重新编译:
mvn clean install
内容的提问来源于stack exchange,提问作者Sankalpa Wijewickrama
相关产品推荐
相关产品推荐

