在使用IDEA的时候,经常从类似git之类的地方将上面的代码clone并部署到本地。有时候配置完一些必要的东西之后,maven会根据项目配置好的pom.xml开始自动的下载依赖包,一般情况下会很顺利的安装好相关依赖的jar包然后直接点运行项目就完成部署了,具体步骤随便找一下都有。
但是最近碰到了一个比较玄学的问题,用IDEA利用从git上clone下来一个spring-boot项目的框架时候,我照着平常的习惯,maven,install(因为是spring-boot不用tomcat)然后下载完依赖包点运行的时候发现下面控制台不断提示Auto build completed with errors然后然后install的时候一直卡在XX files to....这样的地方,但是maven projects中的依赖包是不存在红线的,也就是说依赖包被maven下完了。。当时也没想太多直接点了运行,然后它就一直卡在parsing java....这个环节不动了,起初分享给小伙伴,以为是maven默认下载使用的是apache外网访问速度慢的问题,然后在建议下换了阿里云的镜像。。。但是没有任何用,仍旧是相同的问题。
然后开始在网上找了一下,很遗憾没有多少人遇到相同的问题,但是看到了第一种引起这个问题的情况。
一.
由于不正确的Maven home directory配置引起的。
可以打开Settings->Build,Execution,Deployment->Build Tools->Maven里面把Maven设置为Bundled(Maven3)。
但是我的配置和这个我找到的答案一模一样,也就是说仍没有解决我的问题,然后去stackoverflow寻找了答案,在耐心看完一些英文后仍旧是一无所获。然后就去求助了大佬。在经过一些尝试与猜测后基本锁定了与java的jdk版本的问题。后来经过一些试探性的琢磨解决了这个问题。
二.由于不匹配的jdk版本引起的maven无法自动下载所需要的依赖包,
步骤:先查看自己给这个项目配置的jdk版本,打开如下图所示即可看到版本。
然后再去看了这个项目的pom.xml的jdk版本
大致方法可另行查询,大概都会有注释。
如果两者版本是不一致的,这时候只需要去下载一个与pom.xml版本一致的jdk给这个项目配置上就可以了,mavaen就正常下载了依赖包并正确成功的编译了。