问题背景:
安装了lombok插件、pom文件添加了依赖,idea查看代码没有报红,表面看,lombok生效了,效果如下:

maven clean、install也都是成功的,注解解释器也是开启的:

但编译失败,错误是找不到被lombok注解标记的类,且注解处理器的path这里总是指向unknown.jar,手动指定为正确lombok.jar后,maven重新构建依然重新指向unknown.jar的包。

解决办法:
1. 找到lombok依赖,在maven仓库位置的\org\projectlombok文件夹,(我的位置是:D:\maven\localRepository\org\projectlombok),删除lombok、unknown目录。
2. 打开项目里面的.idea/compiler.xml,这里面保存了注解处理器所使用的lombok路径,如果是unknown.jar,就是错误的,改成正确地址,如下图:

3.根本原因在pom文件里没有指定lombok版本:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version> <!-- 指定版本 -->
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
4. 执行maven的clean install,查看注解处理器的path是否指向正常的地址。一切都正常,即可编译通过。
还是报错,清除idea缓存再重来一遍

9160

被折叠的 条评论
为什么被折叠?



