我尝试在我的项目中使用lombok,我正在使用intellijidea11开发。
我已经为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。
26条答案
按热度按时间jpfvwuh416#
启用注解处理将使其工作
但是,如果您使用的是mac,请确保从两个可用位置启用注解处理(勾选复选框)。
1.)intellij idea->首选项->编译器->注解处理器
2.)文件->其他设置->默认设置->编译器->注解处理器
pkmbmrz717#
在使用jdk8构建项目时,我遇到了类似的问题,将项目设置回jdk7,结果很好。可能是旧版本的lombok,不能在jdk8下编译。
vptzau2j18#
解决此问题的图片表示。
首先启用注解处理器并重试。这可能有效,也可能无效。
在此之后,您可以从intellij安装lombok插件,(安装后intellij将重新启动以启用插件,因此请确保保存您的工作。(intellij确实会在重新启动前保存所有更改,只是为了安全起见。)下面的屏幕截图:
7d7tgy0s19#
仅供参考使用intellij 2018.3,我解决了这个问题(使用
@Data
要插入的注解getter/setter
)遵循以下三个步骤:文件->设置->构建、执行、部署->注解处理器->启用注解处理;
一定要记住应用更改。
在同一设置对话框中安装插件lombok;
现在看来已经足够了,它需要重新启动intellij,然后重建项目。
祝福:)
wvyml7n520#
对于那些仍有困难的人:
除了上面启用注解处理器和安装intellijlombok插件的步骤之外,我还必须构建->重建项目。
4c8rllxm21#
如果您检查了以下两个步骤
启用注解:这是在intellij首选项中完成的检查。
将lombok导入intellij类路径(首选项->插件)
如果仍然有错误,请检查编译器-如果是javac或eclipse。
您可以在preferences->build,execution,deployment->compiler->java compiler中检查编译器。
将use编译器更改为javac(如果是eclipse)。这就是我的工作。
yduiuuwa22#
确保已将其正确添加到项目中。
grad尔的例子:
为您的ide安装lombok插件
选中ide(intellijidea)中的“启用注解处理”复选框,不知道其他ide(如eclipse)是否有类似的情况。
cclgggtu23#
你的项目依赖Lombok山吗?在编译使用任何lombok注解的项目时,lombok.jar必须位于类路径上。
rpppsulh24#
我也有同样的问题,所以我将把这个留在这里,以备将来我的遗忘参考。
什么时候
Alt+Enter
正在打开@Slf4j
注解我错误地选择了无效的导入。因此,如果代码无法编译,请确保导入:import lombok.extern.slf4j.Slf4j;
s1ag04yj25#
除了所有答案中提到的以外,我还必须在pom.xml配置中添加以下代码,以使mvn干净地安装工作。在添加这段代码之前,我发现getter和setter都找不到符号。
m1m5dgzv26#
我上了电视
Mac
这是我的intellij idea和mac版本-intellij idea 2017.1.5内部版本#iu-171.4694.70---mac os x 10.12除了在这两个位置启用注解处理(勾选复选框)。
1.)intellij idea->首选项->编译器->注解处理器
.
2.)文件->其他设置->默认设置->编译器->注解处理器
我不得不安装lombok插件也使其工作。
3.)intellij idea->首选项->插件->浏览存储库->搜索“lombok”->安装插件->应用并重新启动idea