【8010】解决IDEA “Cannot resolve symbol XXX”问题。

【8010】解决IDEA “Cannot resolve symbol XXX”问题

问题背景:

1.刚才从Github导入别人的MAVEN项目,改了全部的爆红,满心期待运行出结,结果点击测试test出现报错“Cannot resolve symbol XXX”,我真的会谢,记得以前也遇到这个问题,那个原因是java代码中JDK版本与语言匹配不一致,修改一下,这次又遇到了这个,趁着这个机会总结一下把。
2.后来我又遇到了Mybatis中配置xml中的<mapper namespace=“user”>也出现了同样的问题,找到了一些解决办法又回来补充了。如:
在这里插入图片描述


解决方法:

情况一:导入pom.xml中的JDK与idea的不匹配(不是JDK问题直接跳到场景二)
**情景一方案第一步:**确定pox.xml的jdk版本–>修改idea的JDK版本(File–>Project Structure–>(如果当前idea运行的版本是你安装的JDK,后面不用执行)–>(如果没有就去下载)ADD JDK…–>apply–>OK);
具体步骤:
打开idea,点击File,然后点击Project Structure,再点击SDK,查看当前idea运行的版本是不是你安装的JDK路径,确保idea中连接的JDK能正常编译使用:如果没有点击+号,找到你安装jDK的那个文件夹即可,最后点击apply;并且记住你起JDK的Name为后面选择使用;


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.情景一方案第二步:(project–>project SDK–>Project Language level–>apply)
选中project,点击project SDK:的jdk改为你安装的版本,并将下方的
Project Language level的语言版本该为和你jdk匹配的语言版本:我选的特性是:8-Lambdas, type annotations etc;,最后点击apply;
原因:
确保模块配置特定于模块的SDK与项目的语言级别相匹配,比如我的是SDK是JDK18版本的,那么我对应的语言级别特性就可以选择是:8-Lambdas, type annotations etc.。
但我选择默认特性情况也没有报错,X - Experimental features,X - Experimental features.。

另外关于JDK版本问题:有兴趣可以去搜索一些资料,大致是则在 Java1到 Java9 对应每一个版本号 :JDK1.0、JDK1.2 … JDK1.8、JDK1.9,Java10以后JDK对应名称为:JDk10、JDK11、JDK12。

在这里插入图片描述

注意:你也可以修改别人pom.xml的编码格式改为你当前idea当前匹配的一致,至于会不会报错就不一定了,因为版本不一样,一些语言支持也不一样,并且修改别人写好的代码就要有一定的了解性才回去做的事,一般都是他们需要什么配置我去搞什么配置去支持,万不得已才去修改。


场景二:导入的MAVEN项目与自己原来的MAVEN文件设置不一致


第一步:清除以前idea的相关配置缓存
点击菜单中的 File -> Invalidate Caches…–>清空 caches后 等待重启后重新加载建立索引即可。
第二步:查看MAVEN相关配置文件,改为以前使用的setting(如果你不介意,用系统默认的也行,可是系统默认的setting配置文件安装没有安装阿里巴巴仓库可就是一个问题了,一些jar可不全):
(File --> Settings–>Build, Execution, Deployment–>Build Tools–>Maven->修改User settings file(用户设置文件)与Local repository(地方储存库)–>apply–>OK);


具体步骤:(也可直接在Setting直接搜索Maven,但有时候出不来,不要输入全名试试)
点击File,然后点击Settings,再点击>Build, Execution, Deployment,继续点击Build Tools,找到Maven中的设置修改User settings file(用户设置文件)与Local repository(地方储存库),这个要根据你当初如何配置Maven去设置,不懂得可以去网上搜搜,最后点击apply即可;


在这里插入图片描述
在这里插入图片描述



场景三(项目缓存出现了问题)方法:关闭重启idea、clean清理maven缓存、清理idea缓存,又或者将项目的idea和target删除,重新生成项目索引联系和class字节码文件。(清理缓存的问题总有一款适合你,嘿嘿)

这是我在MyBatis遇到的问题,也是这个报错,我用了重启就好了,应该是删除新建文件名导致项目运行时缓存的索引连接不上(找不到),重新建立即可。


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

场景四:mybatis中配置mapping的name=""属性爆红(代码没错,仍能正常运行)
这篇博客博客写的够多了,如果你是这种错误,可以参考这篇的解决办法:

https://blog.csdn.net/Caojian_0/article/details/127059164


小叙一会:

1.其实产生这样的问题归根还是导入别人的MAVEN项目,一些配置被默认修改了,导致一切辅助的运行配置不一样,从而项目运行不起来,这就需要我们非常熟悉如何才能规范设置MAVEN了;
2.我自己写的自己运行没啥问题,但是导入别人的就报一大堆错误,要么编码方式不一致,要么jar不兼容,要么等等,慢慢来吧,方法总比困难多,
3.当然以后还会碰到这类问题,到时候再补充,加油,明天就开始学习java连接前端表单表格了!

根据引用和引用的内容,当在IDEA中出现"Cannot resolve symbol"的错误时,可能是由于项目缓存的问题导致的。解决问题的方法包括关闭并重启IDEA、清理Maven缓存、清理IDEA缓存或删除项目的.idea和target文件夹,重新生成项目索引和class字节码文件。 此外,引用提到了另外两种情况下可能出现"Cannot resolve symbol"的错误。一种情况是当从GitHub导入别人的Maven项目时,可能由于Java代码中JDK版本与语言不匹配导致出错。修改相应的设置可以解决这个问题。另一种情况是在Mybatis的配置文件中,如果<mapper namespace="user">出现相同的问题,可以采取相应的解决办法来解决这个问题。 因此,当在IDEA中出现"Cannot resolve symbol"的错误时,可以尝试上述提到的解决办法来解决这个问题123 #### 引用[.reference_title] - *1* [IDEA “Cannot resolve symbol解决办法](https://blog.csdn.net/sinat_32366329/article/details/84888779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* *3* [【8010解决IDEA “Cannot resolve symbol XXX问题。](https://blog.csdn.net/Caojian_0/article/details/126600697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值