热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Lombok注释不会在Intellijidea下编译。-LombokannotationsdonotcompileunderIntellijidea

Iveinstalledthepluginforintellijidea(lombok-plugin-0.8.6-13).我已经安装了intellijidea的插件(lomb
  1. I've installed the plugin for intellij idea(lombok-plugin-0.8.6-13).
  2. 我已经安装了intellij idea的插件(lombok-plugin- 0.6 -13)。
  3. Added lombok.jar into classpath
  4. lombok补充道。jar到类路径
  5. I can find getters and setters in the window of structure. And Intellij shows no error.
  6. 我可以在结构窗口中找到getter和setter。Intellij没有显示错误。
  7. Setting - Lombok plugin - Verified Intellij configuration for lombok, it shows that "configuration of IntelliJ seems to be ok".
  8. Lombok插件验证了Lombok的Intellij配置,它显示了“Intellij的配置似乎还可以”。

It seems everything is OK. But when I compile a test, errors come: can not find the methods getXXX and setXXX.

看来一切都好。但是当我编译一个测试时,会出现错误:找不到getXXX和setXXX的方法。

I opened the .class file with IntelliJ and find out that there is no setXXX and getXXX methods.

我用IntelliJ打开了.class文件,发现没有setXXX和getXXX方法。

Could somebody tell me why?

谁能告诉我为什么吗?

  • plugin:lombok-plugin-0.8.6-13
  • 插件:lombok-plugin-0.8.6-13
  • lombok.jar:1.14.0
  • lombok.jar:1.14.0
  • idea:13.0.2 for linux
  • 想法:13.0.2 linux
  • jdk:1.7.0_21
  • jdk:1.7.0_21

9 个解决方案

#1


195  

In order to solve the problem set:

为了解决问题集:

  • Preferences (Ctrl + Alt + S)
    • Build, Execution, Deployment
      • Compiler
        • Annotation Processors
          • Enable annotation processing
          • 启用注释处理
        • 注释处理器支持注释处理
      • 编译器注释处理器支持注释处理
    • 构建、执行、部署编译器注释处理器支持注释处理
  • 首选项(Ctrl + Alt + S)构建、执行、部署编译器注释处理器支持注释处理

Make sure you have the Lombok plugin for IntelliJ installed!

确保已经安装了IntelliJ的Lombok插件!

  • Preferences -> Plugins
  • 首选项- >插件
  • Search for "Lombok Plugin"
  • 搜索“Lombok插件”
  • Click Browse repositories...
  • 单击Browse库……
  • Choose Lombok Plugin
  • 选择Lombok插件
  • Install
  • 安装
  • Restart IntelliJ
  • 重启IntelliJ

#2


33  

If you're using Eclipse compiler with lombok, this setup finally worked for me:

如果您使用的是lombok的Eclipse编译器,那么这个设置最终为我工作:

  • IDEA 14.1
  • 想法14.1
  • Lombok plugin
  • Lombok插件
  • ... / Compiler / Java Compiler > Use Compiler: Eclipse
  • …/编译器/ Java编译器>使用编译器:Eclipse
  • ... / Compiler / Annotation Processors > Enable annotation processing: checked (default configuration)
  • …/编译器/注释处理器>支持注释处理:勾选(默认配置)
  • ... / Compiler > Additional build process VM options: -javaagent:lombok.jar
  • …/编译器>额外的构建过程VM选项:-javaagent:lombo .jar

The most important part is the last one, mine looks like following: enter image description here

最重要的部分是最后一个,我的部分如下:

Plugin is needed for IntelliJ editor to recognise getters and setters, javaagent is needed for eclipse compiler to compile with lombok.

IntelliJ编辑器识别getter和setter需要插件,eclipse编译器使用lombok编译需要javaagent。

#3


10  

For me, both lombok plugin and annotation processing enable needed, no else. No need to Use Eclipse and additional -javaagent:lombok.jar options.

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

  • Idea 14.1.3, build 141.1010
  • 14.1.3理念,构建141.1010
  • Lombok plugin[Preference->plugins->browse repositories->search 'lombok'->install and restart idea.
  • Lombok插件[偏好->插件->浏览库->搜索' Lombok '->安装和重启想法。
  • Preference ->search 'annotation'->enter annotation processor ->enable annotation processing.
  • 首选项->搜索'annotation'->输入注释处理器->支持注释处理。

#4


6  

IDEA 2016.1:

想法2016.1:

  • Install lombok plugin
  • lombok安装插件
  • Settings -> Compiler -> Annotation Processors -> Enable annotation processing: checked (default configuration)
  • 设置->编译器->注释处理器->启用注释处理:勾选(默认配置)
  • Settings -> Compiler -> Annotation Processors -> Annotation Processors add "lombok.launch.AnnotationProcessorHider$AnnotationProcessor"
  • 设置—>编译器—>注释处理器—>注释处理器添加“lombo .launch. annotationprocessorhider $AnnotationProcessor”
  • Also if you are using maven add to maven-compiler-plugin configuration -> annotationProcessors -> annotationProcessor: lombok.launch.AnnotationProcessorHider$AnnotationProcessor

    另外,如果您正在使用maven添加到maven-compiler- compiler-plugin配置—> annotationProcessor—> annotationProcessor: lombo .launch. annotationprocessorhider $ annotationProcessor

    
      org.apache.maven.plugins
      maven-compiler-plugin
      ${maven.plugin.compiler.version}
      
        ${java.version}
        ${java.version}
        ${java.version}
        
          lombok.launch.AnnotationProcessorHider$AnnotationProcessor
        
      
    
    

#5


5  

Make sure these two requirements are satisfied:

确保满足这两个要求:

  1. Enable annotation processing,

    启用注释处理,

    Preferences > Build, Execution, Deployment > Compiler > Annotation Processors > Enable annotation processing

    >构建、执行、部署>编译器>注释处理器>支持注释处理

  2. Lombok plugin is installed and enabled for your project.

    Lombok插件为您的项目安装并启用。

#6


4  

None of the advanced answers to this question resolved the problem for me.

对这个问题的高级回答没有一个能解决我的问题。

I managed to solve the problem by adding a dependencie to lombok in the pom.xml file, i.e. :

我设法通过在pom中向lombok添加一个依赖项来解决这个问题。xml文件,例如:


   org.projectlombok
   lombok
   1.16.12

I am using IntelliJ 2016.3.14 with maven-3.3.9

我正在使用IntelliJ 2016.3.14和maven-3.3.9

Hope my answer will be helpful for you

希望我的回答对你有帮助

#7


3  

On Itellij 15 CE, it's enough to just install Lombok Plugin (no additional configuration required).

在itellij15 CE上,只要安装Lombok插件就足够了(无需额外的配置)。

#8


3  

After spending far too long troubleshooting this, I found a simple workaround which ensures IntelliJ processes Lombok annotations correctly during builds.

在花了太长时间进行故障排除之后,我找到了一个简单的解决方案,它确保在构建期间正确地处理IntelliJ进程Lombok注释。

The gradle-lombok plugin is not necessary for this workaround. Your build.gradle only requires the following:

这个解决方案不需要gradle-lombok插件。您的构建。等级只要求以下几点:

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

The workaround is to turn on the following IntelliJ setting:

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

  1. Open IntelliJ preferences/settings.
  2. 打开IntelliJ偏好/设置。
  3. Navigate to Build, Execute, Deployment > Build Tools > Gradle > Runner
  4. 导航到构建、执行、部署>构建工具>级> Runner
  5. Check the box labeled Delegate IDE build/run actions to gradle
  6. 选中“委托IDE构建/运行操作”复选框。


Benefits of this workaround compared to other solutions on this page:

与本页面其他解决方案相比,该方法的优点是:

  • No annotation processing necessary!
  • 没有必要注解处理!
  • Able to use the Java compiler of your choice (no Eclipse compiler necessary)
  • 能够使用您选择的Java编译器(不需要Eclipse编译器)
  • No use of buggy gradle-lombok plugin (although perhaps someone else can solve this)
  • 没有使用错误的gradle-lombok插件(尽管可能有人可以解决这个问题)
  • No VM options necessary
  • 没有必要VM选项
  • No hard-coded paths to lombok jar
  • 没有硬编码的路径到lombok jar。

One downside is that IntelliJ will no longer use its own test runner. Instead, tests are always run through Gradle.

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

#9


0  

I am unable to get this working with the javac compiler, and I get the same error.

我无法让它与javac编译器一起工作,我也得到了同样的错误。

Error:(9, 14) java: package lombok does not exist

错误:(9,14)java:包lombok不存在

I have enabled annotation processor, and have also tried rebuilding the project, invalidate cache/restart. Doesn't help.

我已经启用了注释处理器,并尝试重新构建项目,使缓存/重启无效。没有帮助。

I did however get it to work partially with eclipse compiler. I say partial because although the build passes successfully, the editor still complains about "Cannot resolve symbol".

不过,我还是让它部分地使用eclipse编译器。我之所以说部分是因为尽管构建成功通过,编辑仍然抱怨“无法解析符号”。

Idea - 15.04 community edition Lombok - 1.16.6 Lombok plugin (https://github.com/mplushnikov/lombok-intellij-plugin) - 0.9.8 JDK - 1.8.0_51

想法- 15.04社区版Lombok - 1.16.6 Lombok插件(https://github.com/mplushnikov/lombok-intellij-plugin) - 0.9.8 JDK - 1.8.0_51

Update: Ok, I finally got this working. Mine was a gradle project, and lombok was configured as a custom "provided" configuration. Worked fine after adding this in build.gradle

更新:好的,我终于开始工作了。我的项目是一个gradle项目,lombok被配置为自定义的“提供”配置。在build.gradle中加入后效果很好

idea {
 module {
     scopes.PROVIDED.plus += [configurations.provided]
    }
}

So, 3 steps

所以,3步

  1. Install Lombok plugin from File->Settings->Plugins
  2. 从文件->设置->插件安装Lombok插件
  3. Enable Annotation Processor (javac compiler works too)
  4. 启用注释处理器(javac编译器也可以)
  5. Ensure that you have build.gradle or pom.xml updated for idea if you are adding lombok as a custom config.
  6. 确保您已经构建了。gradle或pom。如果您将lombok添加为自定义配置,则会更新xml。

推荐阅读
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
author-avatar
一个人跳舞__的绣绣
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有