背景
群友反馈lombok编译不正常
解决方案
第一个坑
注意到lombok在1.18.36刚支持jdk23
注意到jdk23开始默认关闭了annotation process
所以在pom.xml中的properties需要增加
0 1 |
<maven.compiler.proc>full</maven.compiler.proc> |
间接让javac参数包含 -proc:full
如果还不行可增加
0 1 |
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> |
手动控制插件版本
第二个坑
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> |
注意到 pom.xml=>plugins=>plugin=>artifactId=maven-compiler-plugin=>annotationProcessorPaths 必须指定版本<version>${lombok.version}</version>,否则IDEA生成的.idea/compiler.xml中lombok.jar是unknwon
参考https://youtrack.jetbrains.com/issue/IDEA-342187
若已经出错了,建议修改pom.xml后删除.idea文件夹后重新导入项目
参考
lombok的changelog
https://projectlombok.org/changelog
lombok的issue
https://github.com/projectlombok/lombok/issues/3722
spring官方的修改方式
0 Comments