在学习这个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
导致的。
org.projectlombok
lombok
${lombok.version}
解决办法一:不修改项目文件
此方法不需要修改项目文件,而是直接修改IDEA的配置。 Setting:-
Build, Execution, Deployment -> Compiler -> Shared build process VM options
-Djps.track.ap.dependencies=false
这样就可以解决了。
把RuoYi-Vue-Process/ruoyi-activiti/pom.xml
中的以下内容修改。 由
org.projectlombok
lombok
${lombok.version}
修改成
org.projectlombok
lombok
true
刷新maven配置文件即可。 原因分析 : 之前的lombok版本低导致的bug 1.18.4
https://stackoverflow.com/questions/65128763/java-you-arent-using-a-compiler-supported-by-lombok-so-lombok-will-not-work-a