本来准备写一下最近项目中遇到的Spring事务嵌套的问题,打开Idea之后,看到自己之前的代码(在家里自己的项目中)感觉有很多东西没有提交,之后提交的时候感觉很混乱,就进行了一些列操作,忘记动了什么东西,过了一会所有代码全线飘红,之前遇到过这种情况,这次竟然半天没有解决掉。折腾了很久终于解决了这个问题,记录分享一下这次解决的历程。
这里的报错有两类,一类是我自己写的代码,一类是导入的相关jar包,也就是说,所有的代码全部报错了,比如:
尝试过的解决方案有:
- 更新maven;
- 使用maven进行clean、compiler等;
- Rebuild项目;
- 设置Modules中的Sources的类别;
- File -> Invalidate Caches/Restart(其他博文中的方法);
- 删除编译文件的目录。
折腾了几个小时,突然想起来是当时提交代码的时候,有一部分代码需要忽略不用提交,比如idea中编译的输出目录——target目录文件、iml文件、.idea等文件,其实没有必要提交的。如果提交的话,每次修改代码,我这个commit区域就提示有编译的代码要提交,感觉很难受,而且项目中确实不需要提交这些东西,我就按照其他博文中说的,通过File --> Settings -->Editor --> File Types——>Ignored Files and Folders,添加需要忽略的文件后缀,如图:
本人使用的是2020.3.3版本的idea,你们可以结合你们自身的版本进行调整。
我把之前添加的.class和target等取消掉,神奇的一幕出现了,代码马上全部不报错了!!!
我的理解是,这个“忽略的文件和文件夹”选项,如果填写了.class,可能就会导致此类文件被忽略被隐藏,所以会编译都报错。
接下来我们试一下,如果只填写target的话会有什么反应?
代码没有报错,但是target目录不见了。
我们由此可以得出结论:
这个选项的作用就是隐藏文件,并且如果是设计到.class文件的话,会导致所有编译的文件全部报错,以及.java的代码。如果不想看到target,可以在此设置,但是.class就不要添加了。
2022年6月23日22:17:56
如果项目显示不是maven项目,而实际上是,这种情况肯能导致整个项目爆红出错。解决方案就是,把项目添加为maven项目,方法是:
右键点击pom.xml,Add as Maven Project,即添加为maven项目。
此时项目自动更新maven索引,报错全部解决。