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

06-01 1283阅读

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

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

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

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

文章目录

  • IDEA 启动项目,编译时报错 “java: 找不到符号” 问题解决(仅此一篇即可解决)
    • 一、背景
    • 二、解决方案
      • 先说说我们是怎么解决的
      • 在罗列一些别的情况
        • Lombok插件安装
        • Lombok依赖引入
        • 检查 Jdk 版本
          • 第一处
          • 第二处
          • 第三处
          • 是否打开注解支持
          • 三、关于 Djps.track.ap.dependencies 配置的一些解释
            • -Djps.track.ap.dependencies=false解释
            • 作用
            • 使用时的注意
            • 总结

              一、背景

              /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 启动项目,编译时报错 “java: 找不到符号” 问题解决(仅此一篇即可解决)

              二、解决方案

              先说说我们是怎么解决的

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

              -Djps.track.ap.dependencies=false 
              

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

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

              在罗列一些别的情况

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

              Lombok插件安装

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

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

              Lombok依赖引入
                   org.projectlombok
                   lombok
              		 1.18.20
              
              
              检查 Jdk 版本

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

              第一处

              Project Settings/Project:

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

              第二处

              Project Settings/Modules:

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

              第三处

              Build,Execution,Deployment > Compiler > Java Compiler

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

              是否打开注解支持

              如果没有打开,idea会提示:

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

              如果没有提示,可以从下述路径自行打开:

              Build,Execution,Deployment >Compiler >Annotation Processors:

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


              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编译器注解处理器的项目需要特别注意对构建输出结果的确认。


                            IDEA 启动项目,编译时报错 “java: 找不到符号” 问题解决(仅此一篇即可解决) 感 谢 各 位 大 佬 的 阅 读,随 手 点 赞,日 薪 过 万~! !!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码