某次编译项目时发现lombok注解不生效(某些类的get/set方法无法找到)问题?
最终问题定位在因为Lombok无法识别当前项目的编译器代理
java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
Your processor is: com.sun.proxy.$Proxy26
Lombok supports: sun/apple javac 1.6, ECJ
常见几种解决方案
确保已经下载lombok插件,卸载再重新下载lombok插件并重启idea
检查IDE编译器设置
- 打开设置:File > Settings > Build, Execution, Deployment > Compiler > Java Compiler
- 确认Use compiler选项为javac(而非Eclipse ECJ等)
- 启用注解处理:Build, Execution, Deployment > Compiler > Annotation Processors > Enable annotation processing
- 重启IDE并重新构建项目
-
添加如下配置:-Djps.track.ap.dependencies=false
gIuX8.png
- 降级或升级Lombok,尝试固定Lombok版本(如已知稳定版本 1.18.16、1.18.20):
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
- 构建工具配置,在pom.xml中明确指定Lombok为注解处理器:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
- 在启动参数中添加JVM选项禁用代理
-Djdk.proxy.ProxyGenerator.v49=false
