在Intellij的想法下,Lombok注释不能被编译
- 我已经安装了intellij idea的插件(lombok-plugin-0.8.6-13)。
- 将lombok.jar添加到classpath中
- 我可以在结构的窗口中findgetter和setter。 而Intellij显示没有错误。
- 设置 – Lombok插件 – Lombokvalidation的Intellijconfiguration,它显示“IntelliJ的configuration似乎没问题”。
看来一切都好。 但是,当我编译一个testing,错误来了:找不到方法getXXX和setXXX。
我用IntelliJ打开.class文件,发现没有setXXX和getXXX方法。
有人能告诉我为什么吗?
- 插件:龙目岛 – 插件-0.8.6-13
- lombok.jar:1.14.0
- idea:13.0.2 for linux
- JDK:1.7.0_21
为了解决这个问题集:
- 首选项(Ctrl + Alt + S)
- 构build,执行,部署
- 编译器
- 注释处理器
- 启用注释处理
- 注释处理器
- 编译器
- 构build,执行,部署
确保你已经安装了IntelliJ的Lombok插件!
- 首选项
->
插件 - search“Lombok插件”
- 点击浏览存储库…
- selectLombok插件
- 安装
- 重新启动IntelliJ
如果你正在使用lombok的Eclipse编译器,这个设置终于为我工作:
- IDEA 14.1
- 龙目岛插件
- … / 编译器 / Java编译器 >使用编译器: Eclipse
- … / 编译器 / 注释处理器 >启用注释处理: 选中 (默认configuration)
- … / 编译器 >其他构build过程VM选项: -javaagent:lombok.jar
最重要的部分是最后一个,我的样子如下:
IntelliJ编辑器需要插件来识别getter和setter,eclipse编译器需要使用javaagent来与lombok编译。
对我来说,lombok插件和注释处理都是必需的,没有别的。 无需使用Eclipse和其他-javaagent:lombok.jar选项。
- 想法14.1.3,build立141.1010
- Lombok插件[Preference-> plugins->浏览版本库 – >search'lombok' – >安装并重新启动想法。
- 首选项 – >search“注释” – >input注释处理器 – >启用注释处理。
IDEA 2016.1:
- 安装lombok插件
- 设置 – >编译器 – >注释处理器 – >启用注释处理:选中(默认configuration)
- 设置 – >编译器 – >注释处理器 – >注释处理器添加“lombok.launch.AnnotationProcessorHider $ AnnotationProcessor”
-
另外如果你正在使用maven添加到maven-compiler-pluginconfiguration – > annotationProcessors – > annotationProcessor:lombok.launch.AnnotationProcessorHider $ AnnotationProcessor
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.plugin.compiler.version}</version> <configuration> <compilerVersion>${java.version}</compilerVersion> <source>${java.version}</source> <target>${java.version}</target> <annotationProcessors> <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor> </annotationProcessors> </configuration> </plugin>
确保满足这两个要求:
-
启用注释处理,
首选项>构build,执行,部署>编译器>注释处理器>启用注释处理
-
龙目插件已安装并启用您的项目。
在Itellij 15 CE上,安装Lombok Plugin就足够了(不需要额外的configuration)。
这个问题的高级答案没有一个能解决我的问题。
我设法通过在pom.xml文件中向lombok添加一个依赖来解决这个问题,即:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.12</version> </dependency>
我正在用maven-3.3.9使用IntelliJ 2016.3.14
希望我的回答对你有帮助
我无法得到这与javac编译器的工作,我得到相同的错误。
错误:(9,14)java:package lombok不存在
我已经启用了注释处理器,并且也尝试了重build项目,使caching/重启失效。 没有帮助。
但是我确实使用eclipse编译器部分工作。 我说部分是因为虽然编译通过成功,编辑还是抱怨“无法parsing符号”。
Idea – 15.04社区版Lombok – 1.16.6 Lombok插件( https://github.com/mplushnikov/lombok-intellij-plugin ) – 0.9.8 JDK – 1.8.0_51
更新:好吧,我终于得到了这个工作。 我的是一个gradle项目,lombok被configuration为一个自定义的“提供”configuration。 在build.gradle中添加这个之后工作得很好
idea { module { scopes.PROVIDED.plus += [configurations.provided] } }
所以,3个步骤
- 从File-> Settings-> Plugins安装Lombok插件
- 启用注释处理器(javac编译器也可以)
- 如果要将lombok作为自定义configuration添加,请确保已为build.gradle或pom.xml更新了想法。