当我在IntelliJ IDEA下使用Lombok时,java无法编译项目
我试图在我的项目中使用Lombok,我正在使用IntelliJ IDEA 11开发项目
我已经安装了3rd-party plugin for IDEA,它似乎工作正常,因为IDEA可以看到所有自动生成的方法/字段
所以我有一个使用Slf4j的类。我这样注释它
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class TestClass
{
public TestClass()
{
log.info("Hello!");
}
}
但是当我构建我的项目时,编译器会发出:cannot find symbol variable log
你能告诉我我错过了什么吗
更新:结果是RequestFactory注释过程失败
input files: {com.zasutki.courierApp.server.TestServlet, com.mine.courierApp.server.model.DatastoreObject}
annotations: [javax.inject.Singleton, javax.inject.Inject, lombok.Getter, lombok.Setter, com.googlecode.objectify.annotation.Id, com.googlecode.objectify.annotation.OnSave]
Processor com.google.web.bindery.requestfactory.apt.RfValidator matches [lombok.Getter, com.googlecode.objectify.annotation.Id, javax.inject.Inject, lombok.Setter, com.googlecode.objectify.annotation.OnSave, javax.inject.Singleton] and returns false.
cannot find symbol variable log
有什么解决办法吗
更新2:也许读者不想听到这句话,但我最终选择了Scala
# 1 楼答案
启用注释处理将使其正常工作
但是,如果您使用的是Mac,请确保从两个可用位置启用注释处理(勾选复选框)
1.)Intellij Idea->;偏好->;编译器->;注释处理器
2.)文件->;其他设置->;默认设置->;编译器->;注释处理器
# 2 楼答案
格拉德尔的例子:
# 3 楼答案
在IDEA 12中,我通过在以下内容中设置复选框
Enable annotation processing
来修复它:对于IDEA 2016.2:
启用后,运行Build->;重建项目以识别注释并消除错误
对于IDEA 2019.2.1,根据项目的配置,安装project Lombok插件可能不够。下面是将Project Lombok与IntelliJ IDEA结合使用的另一种方法:
$HOME/dev/java/project/libs
)李>lombok
$HOME/dev/java/project/libs/lombok.jar
lombok
重命名为Project Lombok 1.18.8
李>该项目现在可以从
lombok
包导入,并使用project Lombok注释(例如lombok.Setter
和lombok.Getter
)# 4 楼答案
解决此问题的图片表示
首先启用注释处理器,然后再试一次。这可能有效,也可能无效。
发布后,您可以从intellij安装lombok插件(安装后intellij将重新启动以启用插件,因此请确保保存您的工作。(为了安全起见,intellij会在重新启动前保存所有更改。)截图如下:
# 5 楼答案
在最新的Gradle版本中,您应该使用annotationProcessor:
# 6 楼答案
我正在使用IntelliJ IDEA 2020.3(社区版)
在这里,除了安装Lombok插件和启用注释(由其他答案解释)。我还需要将标志
-Djps.track.ap.dependencies=false
设置为构建过程选项我不需要使用-javaagent方法,也不需要设置类路径
1。转到:文件|设置|构建、执行、部署|编译器|“共享构建过程VM选项”字段
参考资料: