IDEA 启动项目,编译时报错 “java: 找不到符号” 问题解决(仅此一篇即可解决)

IDEA 启动项目,编译时报错 “java: 找不到符号” 问题解决(仅此一篇即可解决)

同事从 Git 仓库中新 clone 的项目,IDEA 启动项目,编译时报错 “java: 找不到符号”,总之就是对象的getter/setter相关方法缺失,摸爬滚打半天解决后,在此记录分享一波~

💗💗💗您的点赞、收藏、评论是博主输出优质文章的的动力!!!💗💗💗

欢迎在评论区与博主沟通交流!!大量优质博文关注一波不亏!👇🏻 👇🏻 👇🏻

一、背景

/Users/zhuzicc/IdeaProjects/test_demo/api/src/main/java/com/zhuzicc/api/dto/test.java:111:57
java: 找不到符号
  符号:   方法 getxxxx()
  位置: 类型为com.zhuzicc.api.dto.Test的变量 test

具体报错如下图所示:

在这里插入图片描述

二、解决方案

先说说我们是怎么解决的

直接在 IDEA 的 “settings/Build,Execution,Deployment/Compiler” 中的 “Shared build process VM options” 配置Java虚拟机(JVM)系统属性的命令项,设置如下:

-Djps.track.ap.dependencies=false 

在这里插入图片描述

如果上述我们的场景没有解决大家的问题,可以接着往后看;

在罗列一些别的情况

ps:罗列的情况不是我们本次遇到的真实场景,仅提供一个解决问题的思路方向。

Lombok插件安装

检查一下 IDEA 中是否安装了 Lombok插件;

在这里插入图片描述

Lombok依赖引入
<dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
		 <version>1.18.20</version>
</dependency>
检查 Jdk 版本

要保证 jdk 版本是8以上(也就是1.8以上);

第一处

Project Settings/Project:
在这里插入图片描述

第二处

Project Settings/Modules:
在这里插入图片描述

第三处

Build,Execution,Deployment > Compiler > Java Compiler
在这里插入图片描述

是否打开注解支持

如果没有打开,idea会提示:
在这里插入图片描述

如果没有提示,可以从下述路径自行打开:
Build,Execution,Deployment >Compiler >Annotation Processors:
在这里插入图片描述


ps:更改过以上配置,建议重启 IDEA (玄学而已,也可以不重启)

三、关于 Djps.track.ap.dependencies 配置的一些解释

在IntelliJ IDEA中,"Shared build process VM options"允许开发者定义影响IDEA构建过程的JVM选项。这些选项可以影响IDEA的性能或行为,其中有一个选项是 -Djps.track.ap.dependencies=false

-Djps.track.ap.dependencies=false解释

  • jps:这是指Java编译器服务(Java Compiler Service),它用于管理IDEA的构建和编译过程。
  • track.ap.dependencies:这是一个特定的选项,用于决定IDEA是否在构建过程中跟踪Java注解处理器(Annotation Processor)的依赖项。
  • false:设置为false意味着IDEA在构建项目时不会跟踪注解处理器生成的文件的依赖关系。

作用

  • 性能优化
    • 默认情况下,启用对注解处理器依赖的跟踪,这会导致构建过程花费更多资源去探测和解析注解处理器生成的内容,可能对大型项目造成一定的影响。
    • track.ap.dependencies设置为false可以降低构建过程的复杂性,提高IDEA在某些场景下的反应速度和性能。
  • 构建过程的简化
    • 对于不依赖于注解处理器输出进行构建的项目,禁用此跟踪可以减少不必要的处理。
    • 开发者可以选择在对注解处理器的输出依赖较少的项目或者追求构建性能的项目中使用此设置。

使用时的注意

  • 项目类型
    • 如果项目广泛使用注解处理器且构建需要依赖注解生成的代码,禁用依赖项跟踪可能会导致未预期的行为。
    • 在使用Spring、Dagger或其他依赖注解处理器的框架时,确认这种设置对实际应用的影响。
  • 验证功能
    • 如果此设置影响了编译器的正常功能,或者IDEA无法检测到注解生成代码的更改,可能需要启用此选项来确保准确的编译。

总结

总的来说,-Djps.track.ap.dependencies=false 是一个用于优化IDEA构建性能的选项,但使用时需要根据具体项目依赖情况进行谨慎配置。尤其在构建过程中大量使用Java编译器注解处理器的项目需要特别注意对构建输出结果的确认。


感 谢 各 位 大 佬 的 阅 读,随 手 点 赞,日 薪 过 万~! !!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhuzicc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值