Lombok注释不能在Intellij思想下编译

  1. 我已经安装了intellij idea的插件(lombok-plugin-0.8.6-13)。
  2. 将lombok.jar添加到类路径中
  3. 我可以在结构窗口中找到getter和setter。Intellij没有显示错误。
  4. 设置- 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
311744 次浏览

为了解决问题集:

  • 首选项(Ctrl + Alt + 年代)
    • 构建,执行,部署
        <李>编译器
          <李>注解处理器
          • 启用注释处理
          • 李< / ul > < / > 李< / ul > < / > 李< / ul > < / > 李< / ul > < / >

          确保安装了IntelliJ的Lombok插件!

          • 首选项->插件
          • 搜索“龙目岛插件”
          • 点击浏览存储库…
          • 选择Lombok插件
          • 安装
          • 重启IntelliJ

如果你正在使用Eclipse编译器和lombok,这个设置最终为我工作:

  • 想法14.1
  • Lombok插件
  • ... / 编译器 / Java编译器 >使用编译器:Eclipse
  • ... / 编译器 / 注解处理器 >启用注释处理:检查(默认配置)
  • ... / 编译器 >其他构建流程虚拟机选项:(共享构建流程虚拟机选项)- javaagent: lombok.jar . xml
最重要的部分是最后一个,我的看起来像这样: enter image description here

IntelliJ编辑器需要Plugin来识别getter和setter, eclipse编译器需要javaagent来编译lombok。

对我来说,lombok插件和注释处理都是必需的,没有其他。不需要使用Eclipse和额外的- javaagent: lombok.jar选项。

  • 理念14.1.3,构建141.1010
  • Lombok插件[首选项->插件->浏览存储库->搜索' Lombok '->安装和重新启动想法。
  • 首选项->搜索“注释”->进入注释处理器->启用注释处理。

我无法使用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

< p >更新: 好了,我终于把它修好了。我的是一个gradle项目,lombok被配置为自定义的“提供”配置。在build.gradle

中添加后工作正常
idea {
module {
scopes.PROVIDED.plus += [configurations.provided]
}
}

所以,有3个步骤

  1. 从File->Settings->Plugins安装Lombok插件
  2. 启用注释处理器(javac编译器也可以工作)
  3. 确保您有构建。如果您要将lombok添加为自定义配置,请更新Gradle或pom.xml。

想法2016.1:

  • 安装lombok插件
  • 设置—> Compiler—> Annotation Processors—>启用Annotation处理:勾选(默认配置)
  • 设置->编译器->注释处理器->注释处理器添加"lombok.launch. annotationprocessorhide $AnnotationProcessor"
  • 另外,如果你正在使用maven add到maven-compiler-plugin配置-> annotationProcessors -> annotationProcessor: lombok.launch. annotationprocessorhide $ 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>
    

在Itellij 15 CE上,只需安装Lombok Plugin(不需要额外配置)就足够了。

确保满足以下两个要求:

  1. 启用注释处理,

    首选项>构建、执行、部署>编译器>标注处理器>启用标注处理

  2. 已为项目安装并启用Lombok插件。

这个问题的高级答案都不能解决我的问题。

我设法通过在pom.xml文件中添加对lombok的依赖来解决这个问题,即:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>

我使用IntelliJ 2016.3.14与maven-3.3.9

希望我的回答对你有所帮助

在花了很长时间解决这个问题之后,我找到了一个简单的解决方法,可以确保IntelliJ在构建期间正确处理Lombok注释。

gradle-lombok插件不是这个解决方案所必需的。你的build.gradle只需要以下内容:

dependencies {
compileOnly("org.projectlombok:lombok:1.16.18")
}

解决方法是打开以下IntelliJ设置:

  1. 打开IntelliJ首选项/设置。
  2. 导航到Build, Execute, Deployment > Build Tools > Gradle > Runner
  3. 勾选标记为Delegate IDE build/run actions to gradle的复选框


与本页上的其他解决方案相比,这个解决方案的好处:

  • 不需要注释处理!
  • 能够使用您选择的Java编译器(不需要Eclipse编译器)
  • 没有使用有bug的gradle-lombok插件(虽然也许其他人可以解决这个问题)
  • 不需要虚拟机选项
  • 没有到龙目岛罐子的硬编码路径

一个缺点是IntelliJ将不再使用自己的测试运行程序。相反,测试总是通过Gradle运行。

如果你在Mac上使用Intellij,这个设置终于对我有用了。

安装:Intellij

  1. 进入首选项,搜索插件。
  2. 在插件搜索框中输入“Lombok”。Lombok是一个非捆绑的插件,所以一开始不会显示。
  3. 点击“浏览”以搜索非捆绑的插件
  4. 应该会显示“Lombok Plugin”。选择它。
  5. 点击绿色的“安装”按钮。
  6. 点击“重启Intellij IDEA”按钮。

设置:

  1. 启用Annotation处理器

    • 去首选项->构建,执行,部署->首选项->编译器->注释处理器
    • File ->其他设置->默认设置-> Compiler -> Annotation Processors
    • 李< / ul > < / >
    • 检查Lombok插件是否启用

      • IntelliJ IDEA-> Preferences -> Other Settings -> Lombok plugin ->启用Lombok
      • 李< / ul > < / >
      • 在全局库和项目依赖项中添加Lombok jar。

        • 文件—>项目结构—>全局库(添加lombok.jar)
        • 李< / ul > < / >
        • 文件——>项目结构——>项目设置——>模块——>依赖选项卡=检查lombok

        • 重启Intellij

我按照这个程序来避免类似/相同的错误。

mvn的想法:清洁

mvn的想法:想法

之后,我可以从IDE intellij和命令行构建。