美文网首页程序员程序园
Eclipse - 安装lombok后注解无效

Eclipse - 安装lombok后注解无效

作者: 编程小世界 | 来源:发表于2019-05-03 19:52 被阅读6次

安装 lombok

lombok 的安装过程挺简单的,网上已经有很多相关的博客,这里就不在多说了,可以参考这篇:eclipse集成lombok注解不起作用

但是我按照网上的方式安装之后,注解一直不起作用,运行的时候一直报找不到getter,setter方法。期间我以为是自己安装的不对,反反复复安装了几次还是不行,找了很多博客看,发现其实安装的方法都是一样的,在排除了有可能是jar包的版本与Eclipse的版本不兼容的问题后,我想可能问题不在这里,lombok我应该是已经安装成功了的,但是为什么不起作用呢?

其实这里面有个坑,博客里面都有说,在安装好lombok后,需要重新启动Eclipse,重新编译 项目。注解不起作用的关键就在于你是如何编译项目的。

编译项目

我们一般编译项目的方式可能是选中项目然后点projecg -> clean

但是这种编译项目的方式是不行的,我们把编译后生成的.class文件反编译一下看看。

这是文件源码:

importlombok.AllArgsConstructor;importlombok.Getter;@Getter@AllArgsConstructorpublicenumResponseCode{SUCCESS(10001,"请求成功"),    ERROR(10000,"请求失败"),    ILLEGAL_ARGUMENTS(1,"请求参数不合法")    ;privatefinalInteger code;privatefinalString desc;  }

class 文件反编译后是这个样子

publicenumResponseCode{SUCCESS(Integer.valueOf(10001),"请求成功"),  ERROR(Integer.valueOf(10000),"请求失败"),  ILLEGAL_ARGUMENTS(Integer.valueOf(1),"请求参数不合法");privatefinalInteger code;privatefinalString desc;}

我们可以看到,反编译后的文件里面并没有生成getter ,setter方法还有构造方法

我们用另外一种方式来编译项目看看,即用maven的编译插件来编译项目,使用命令 clean compile

再来看看,class文件是这样的

packagecom.beautifulsoup.chengfeng.enums;publicenumResponseCode{  SUCCESS(Integer.valueOf(10001),"请求成功"),  ERROR(Integer.valueOf(10000),"请求失败"),  ILLEGAL_ARGUMENTS(Integer.valueOf(1),"请求参数不合法");privatefinalInteger code;privatefinalString desc;privateResponseCode(Integer code, String desc){this.code = code;this.desc = desc;  }publicIntegergetCode(){returnthis.code; }publicStringgetDesc(){returnthis.desc; }}

可以看到我们需要的方法都生成了!

编译时如果报如下的错误:

[ERROR] COMPILATION ERROR : [INFO] -------------------------------------------------------------[ERROR] No compilerisprovidedinthisenvironment. Perhaps you are runningona JRE rather than a JDK?[INFO]1error[INFO] -------------------------------------------------------------[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time:1.436s[INFO] Finished at:2017-06-28T11:16:07+08:00[INFO] Final Memory:10M/151M[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile)onproject manage: Compilation failure[ERROR] No compilerisprovidedinthisenvironment. Perhaps you are runningona JRE rather than a JDK?[ERROR] -> [Help1]

可以用如下的博客解决,亲测可用!

关于Maven项目build时出现No compiler is provided in this environment的处理

其它

建议把Eclipse的自动编译关掉,因为我们在修改一个带有lomok注解类并ctrl + s 以后是Eclipse的方式编译的,这里个生成的class文件里面又没有我们要的方法了。

另外如果你修改一个带有lomok注解的类并保存了,用mevaen编译以后显示有红叉,只要update 一下项目就好了。

进群:697699179可以获取Java各类入门学习资料!

这是我的微信公众号【编程study】各位大佬有空可以关注下,每天更新Java学习方法,感谢!

学习中遇到问题有不明白的地方,推荐加小编Java学习群:697699179内有视频教程 ,直播课程 ,等学习资料,期待你的加入

相关文章

  • Eclipse - 安装lombok后注解无效

    安装 lombok lombok 的安装过程挺简单的,网上已经有很多相关的博客,这里就不在多说了,可以参考这篇:e...

  • lombok使用

    Eclipse下lombok的安装 Eclipse下使用lombok需要先安装插件下载地址:https://pro...

  • lombok深度指南

    Contents 介绍 安装idea 安装lombokeclipse安装lombok Lombok 注解@Gett...

  • sts安装lombok

    由于springboot项目中有@Slf4j 注解等,而eclipse需要安装lombok插件才能正常编译 打印日...

  • lombok组件的使用

    由于springboot项目中有@Slf4j 注解等,而eclipse需要安装lombok插件才能正常编译 打印日...

  • 使用lombok生成getter/setter/construc

    1,pom添加lombok 2,eclipse安装lombok找到lombok在本地仓库的位置,双击jar进行安装...

  • Lombok

    简介 Lombok是一个使用的Java类库,用来通过简单的注解形式,简化Java代码。 安装(Eclipse/My...

  • lombok的使用

    在IDE中添加lombok插件 在idea中安装lombok插件 在eclipse中安装lombok插件 下载lo...

  • eclipse安装lombok

    1、lombok下载地址 https://projectlombok.org/download/ 2、手动安装 将...

  • 在Idea下使用Lombok库,不生成get、set方法问题的解

    首先检查是否安装了Lombok plugins 然后检查注解设置

网友评论

    本文标题:Eclipse - 安装lombok后注解无效

    本文链接:https://www.haomeiwen.com/subject/zlvznqtx.html