java: You aren‘t using a compiler supported by lombok

在学习这个RuoYi-Vue-Process项目的时候,编译报错。

https://gitee.com/calvinhwang123/RuoYi-Vue-Process

报错信息

编译警告信息

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

编译报错信息

RuoYi-Vue-Process/ruoyi-activiti/src/main/java/com/ruoyi/activiti/service/impl/ProcessServiceImpl.java:105:11
java: 找不到符号
  符号:   方法 setInstanceId(java.lang.String)
  位置: 类型为com.ruoyi.activiti.domain.InstanceBusiness的变量 ib

原因分析

我一开始以为是文件编码格式问题,后来排除掉了这个猜想。经多方对比,发现是因为RuoYi-Vue-Process/ruoyi-activiti这个模块依赖的lombok导致的。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>${lombok.version}</version>
</dependency>

解决办法一:不修改项目文件

此方法不需要修改项目文件,而是直接修改IDEA的配置。
Setting:-

Build, Execution, Deployment -> Compiler -> Shared build process VM options

-Djps.track.ap.dependencies=false

在这里插入图片描述
这样就可以解决了。

解决方法二:修改依赖

RuoYi-Vue-Process/ruoyi-activiti/pom.xml中的以下内容修改。

 <dependency>
    <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <version>${lombok.version}</version>
 </dependency>

修改成

<dependency>
   <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

刷新maven配置文件即可。
原因分析 :
之前的lombok版本低导致的bug <lombok.version>1.18.4</lombok.version>

参考

https://stackoverflow.com/questions/65128763/java-you-arent-using-a-compiler-supported-by-lombok-so-lombok-will-not-work-a

猜你喜欢

转载自blog.csdn.net/lxyoucan/article/details/124733520