我已经安装了intellij idea的插件(lombok-plugin-0.8.6-13)。
将lombok.jar添加到类路径中
我可以在结构窗口中找到getter和setter。Intellij没有显示错误。
设置- Lombok插件-验证的Intellij配置为Lombok,它显示“配置Intellij似乎是ok”。
看起来一切都很好。但是当我编译一个测试时,错误来了:找不到方法getXXX和setXXX。
我用IntelliJ打开了.class文件,发现没有setXXX和getXXX方法。
有人能告诉我为什么吗?
插件:lombok-plugin-0.8.6-13
lombok.jar: 1.14.0
理念:Linux 13.0.2
jdk: 1.7.0_21
我无法使用javac编译器进行此工作,并得到相同的错误。
错误:(9,14)java: package lombok不存在
我已经启用了注释处理器,也尝试了重新构建项目,使缓存无效/重新启动。没有帮助。
然而,我确实让它与eclipse编译器部分工作。我说部分是因为尽管构建成功通过,编辑器仍然抱怨“无法解析符号”。
Idea - 15.04社区版
龙目岛- 1.16.6
Lombok插件(https://github.com/mplushnikov/lombok-intellij-plugin) - 0.9.8
JDK - 1.8.0_51
更新:
好了,我终于把它修好了。我的是一个gradle项目,lombok被配置为自定义的“提供”配置。在build.gradle中添加后工作正常
idea {
module {
scopes.PROVIDED.plus += [configurations.provided]
}
}
所以,有3个步骤
从File->Settings->Plugins安装Lombok插件
启用注释处理器(javac编译器也可以工作)
确保您有构建。如果您要将lombok添加为自定义配置,请更新Gradle或pom.xml。
在花了很长时间解决这个问题之后,我找到了一个简单的解决方法,可以确保IntelliJ在构建期间正确处理Lombok注释。
gradle-lombok插件不是这个解决方案所必需的。您的构建。Gradle只需要以下内容:
dependencies {
compileOnly("org.projectlombok:lombok:1.16.18")
}
解决方法是打开以下IntelliJ设置:
打开IntelliJ首选项/设置。
导航到构建,执行,部署>构建工具> Gradle > Runner
选中“委托IDE构建/运行操作到gradle”复选框
与本页上的其他解决方案相比,此解决方案的优点:
不需要注释处理!
能够使用您选择的Java编译器(不需要Eclipse编译器)
没有使用有bug的gradle-lombok插件(虽然也许其他人可以解决这个问题)
不需要虚拟机选项
没有到龙目岛罐子的硬编码路径
一个缺点是IntelliJ将不再使用自己的测试运行程序。相反,测试总是通过Gradle运行。
如果你在Mac上使用Intellij,这个设置终于对我有用了。
软件安装:Intellij
进入首选项,搜索插件。
在插件搜索框中输入“Lombok”。Lombok是一个非捆绑的插件,所以一开始不会显示。
点击“浏览”以搜索非捆绑的插件
应该会显示“Lombok Plugin”。选择它。
点击绿色的“安装”按钮。
点击“重启Intellij IDEA”按钮。
设置:
Enable Annotation processor
Go to Preferences -> Build, Execution,Deployment -->Preferences -> Compiler -> Annotation Processors
File -> Other Settings -> Default Settings -> Compiler -> Annotation Processors
Check if Lombok plugin is enabled
IntelliJ IDEA-> Preferences -> Other Settings -> Lombok plugin -> Enable Lombok
Add Lombok jar in Global Libraries and project dependencies.
File --> Project Structure --> Global libraries (Add lombok.jar)
File --> Project Structure --> Project Settings --> Modules --> Dependencies Tab = check lombok
Restart Intellij