背景
最近刚被跳槽,跳槽到现在这家公司,今天“导师”又给了一个项目,让了解,我就没在意clone了下来,切到对应的分支,单体springboot项目,连接着nacos,还好,不难,点击启动,突然发现编译阶段提示“找到不到xxx类,找不到符号”?嗯?不应该呀。
梳理步骤
1、首先我想到的是否是maven没有将对应的依赖下载下来呢?毕竟多个依赖项目、且依赖底层的项目也还不少。
首先执行项目mvn导入操作,一切正常!
2、奇怪、既然能下载下依赖来,那就应该有,结果没有,是有什么依赖没下全吗?执行
该mvn命令会将所有依赖下全,结果发现一样。
3、这时候我就有点迷了,难道是Ide的缓存?清理缓存重新编译索引等,结果发现也没用。
4、这时候我想了想是否是我IDE因为下载了IDE的jdk(想玩jdk17来着下的。)就尝试降低下jdk版本,结果发现执行java -version
竟然没了反应。(这里解锁另一个小知识)。
找到环境变量,发现配置没有问题,那到底是因为什么呢?仔细看居然发现第一行有一个这个
删除它!找到对应的路径,删除文件夹,重新执行java -version
,问题解决。但是项目还是编译有问题,提示找不到符号。
5、寻找百度,百度各种解决方案无非是因为lombok引起的问题,与清缓存。但是我没有这俩项的问题,排除。
6、现在只剩下了项目本身,我返回代码仓库查看该项目,这时,我发现了坑我的地方。
原来是所谓的“导师”,提交项目提交了,.iml文件,并且一并提交了编译后的target文件。
iml文件是idea组织工程的文件, 里面记录了各种记录模块, 文件夹以及依赖的信息
问题找到了。
解决
删除.iml文件、删除编译后的target文件。
执行重启清除缓存。(上边有介绍)。
启动项目,ok、编译通过,启动起来了。
要注意的点
1、项目初始化的时候,切记要加入.gitignore
文件,且将IDE的所有不需要提交的文件,加入到其中。这里推荐插件可以新建.gitignore
文件,进行相关操作。
2、项目的编译后的文件,也不要提交。
3、出现问题要冷静思考、围绕出问题可能得点,逐步分析,推理。