IDEA2020.3 Lombok 失效 BUG 解决

2021/08/18 0 IDEA 共 1703 字,约 5 分钟
臭粑粑大朱

换了新版 IDEA 没高兴几天就被折腾了一波,这都 2021 了还以为 2020 年的最后一个版本问题比较少呢

1. 问题的出现

  1. 更换 IDEA 已经有一个多月了,项目一直跑的好好的,今天加了人人开源的后台管理项目,莫名其妙的提示好多个方法找不到符号。

2. 尝试解决问题

  1. 第一反应重新编译一下应该就好了吧,结果失败。

  2. 使用 Maven Clean 一下,结果失败。

  3. 百度之后有两招说解决问题的,都已失败告终。

    mvn idea:idea
    mvn idea:module
    

2.1 发现 BUG 一号

  1. 经过百度发现了 BUG 一号:IDEA 2020.1.1 找不到程序包和符号。

    • 虽然版本不一致,但是也许是这个问题呢,试试看吧。
  2. 触发条件是在 maven 的 settings.xml 设置 localRepository 。

    • 看到这里估计八成就是这个问题了,怎么改呢,不想改 IDEA 配置还原回来,C盘空间太少了。
    • 在 C 盘创建软连接,欺骗一下配置文件我的仓库就在默认位置,IDEA 里面 Maven 相关配置都是用默认的就行。
    cd %USERPROFILE%/.m2
    mklink /D repository F:\Workspaces\maven\repository(自己仓库地址)
    
  3. 整完重新编译,测试,失败。。。

2.2 发现 BUG 二号,成功解决问题

  1. 首先各种方式都试了,全都失败,还是回来自己看日志,看输出吧,然后发现了所有提示找不到符号的都是 Getter 和 Setter 方法,难道跟 Lombok 有关?

  2. 再仔细看发现了不得了的提示:

    java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
      Your processor is: com.sun.proxy.$Proxy26
      Lombok supports: sun/apple javac 1.6, ECJ
    
  3. lombok 真的没有生效,关键是程序也不报错啊,只有运行才会报错,代码也都不飘红。。。

  4. github 上面给出了两种解决方案:

    • 方案一:

    在这个位置加上该配置:-Djps.track.ap.dependencies=false
    

    • 方案二:

    • 把项目中的 Lombok 版本升级到 1.18.16 及以上即可。
  5. 那还等什么开搞,我滴神啊,还是失败,看 Maven 依赖竟然还是旧版本,怎么 Clean 怎么搞都不行。

    <properties>
        <lombok.version>1.18.18</lombok.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
    </dependencies>
    
  6. 上大招,Maven 依赖版本终于变了,再次打包运行,终于好了,但是上面那样为什么版本不更新,真心搞不懂。。。

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.18</version>
        </dependency>
    </dependencies>
    

3. 总结

  1. 一共耗时两个半小时解决问题,中午没睡觉,没有玩游戏,解决后心里也高兴不起来,因为用的时间太长了。
  2. 如果稍微仔细看下日志先,这个提示 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 肯定会看到,估计也就半个小时就搞定了,定位问题还是太慢!

文档信息

查找

    Table of Contents