一般这个错很是莫名其妙,一切都是好的,就是在compiler时报错,“符号找不到”。
下面说明一下我的运行环境:
idea 2018.1.1
lombok 插件 (注意版本)
默认pom lombok 版本 是 1.16.22
对于本地自己创建的项目lombok可以正常使用,
但是对于git拉取的项目,编译正常通过,但是在运行时lombok始终报找不到符号。
拉取的git项目中的pom文件的lombok依赖版本是1.16.6
在build时,始终报找不到符号,经过测试 安装插件的版本 和 pom依赖lombok的版本没有必然的高低关系。
也就是说 高版本的lombok插件是可以支持低版本的lombok的pom版本
我安装的是 2.18.1版本的lombok插件-- 默认支持的版本是1.16.22
但是1.16.6版本的lombok也是可以的。
所以说 lombok插件 和 lombok的版本没有高低不对应的关系
网上的解决方法是
1、添加pom.xml中加入lombok依赖包 (版本自定义)
2、安装lombok插件(我已安装)
File ——> Settings ——> Plugins. 搜索lombok,点击安装install。然后会提示重启,重启。
3、安装完重新启动 idea
一般情况下 --- 到这里 就已经没问题了
但是这只是针对于 自己本地手动创建的maven项目,使用lombok注解没有问题
但是对于下载的git项目,带有lombok的源码 在build时就会出问题。
解决方式如下:
因为idea2018.1默认的是使用javac编译的
因此无需设置
1、设置启动注解(设不设置其实都可以,经测试没有必然关系)
2、pom.xml中加入的lombok依赖包版本和自动安装的plugin中的lombok依赖包版本不一致。(或许存在这种情况,但是对于低兼容,高扩展的特性,这种情况应该十分少见)
https://github.com/mplushnikov/lombok-intellij-plugin/releases
可参考这个网址 采取对应的插件和pom依赖
若以上都不起作用,
如果你是使用 maven 来管理项目的,那么你需要在 complice 插件中加入, lombok 来解决这个问题。
则采用下面的方式:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!--选择自己的版本即可-->
<version>1.16.6 </version>
</path>
</annotationProcessorPaths >
</configuration >
</plugin >
之后点击 build ,正常编译,运行。
原文 http://www.it1352.com/715683.html
如若还是不行,愿上帝保佑你。