换了新版 IDEA 没高兴几天就被折腾了一波,这都 2021 了还以为 2020 年的最后一个版本问题比较少呢
1. 问题的出现
- 更换 IDEA 已经有一个多月了,项目一直跑的好好的,今天加了人人开源的后台管理项目,莫名其妙的提示好多个方法找不到符号。
2. 尝试解决问题
第一反应重新编译一下应该就好了吧,结果失败。
使用 Maven Clean 一下,结果失败。
百度之后有两招说解决问题的,都已失败告终。
mvn idea:idea mvn idea:module
2.1 发现 BUG 一号
经过百度发现了 BUG 一号:IDEA 2020.1.1 找不到程序包和符号。
- 虽然版本不一致,但是也许是这个问题呢,试试看吧。
触发条件是在 maven 的 settings.xml 设置 localRepository 。
- 看到这里估计八成就是这个问题了,怎么改呢,不想改 IDEA 配置还原回来,C盘空间太少了。
- 在 C 盘创建软连接,欺骗一下配置文件我的仓库就在默认位置,IDEA 里面 Maven 相关配置都是用默认的就行。
cd %USERPROFILE%/.m2 mklink /D repository F:\Workspaces\maven\repository(自己仓库地址)整完重新编译,测试,失败。。。
2.2 发现 BUG 二号,成功解决问题
首先各种方式都试了,全都失败,还是回来自己看日志,看输出吧,然后发现了所有提示找不到符号的都是 Getter 和 Setter 方法,难道跟 Lombok 有关?
再仔细看发现了不得了的提示:
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, ECJlombok 真的没有生效,关键是程序也不报错啊,只有运行才会报错,代码也都不飘红。。。
github 上面给出了两种解决方案:
- 方案一:

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

- 把项目中的 Lombok 版本升级到 1.18.16 及以上即可。
那还等什么开搞,我滴神啊,还是失败,看 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>上大招,Maven 依赖版本终于变了,再次打包运行,终于好了,但是上面那样为什么版本不更新,真心搞不懂。。。
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.18</version> </dependency> </dependencies>
3. 总结
- 一共耗时两个半小时解决问题,中午没睡觉,没有玩游戏,解决后心里也高兴不起来,因为用的时间太长了。
- 如果稍微仔细看下日志先,这个提示 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 肯定会看到,估计也就半个小时就搞定了,定位问题还是太慢!
文档信息
- 本文作者:臭粑粑大朱
- 本文链接:https://www.hkyzf.top/2021/08/18/idea-2020-lombok/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
