IDEA2020.2.3 "reading maven projects"卡住的问题

时间:2021-05-20

IDEA(2020.2.3) “reading maven projects”卡住

删掉项目的.mvn文件夹和.idea文件夹再重新打开即可。(亲试)

PS:下面看下解决 IDEA 2020.2 reading pom.xml 卡死问题,具体内容如下所示:

一、解决方案搜寻

刚出 IDEA 2020.2 版本的时候,当时第一时间更新了。打开公司的项目,没啥问题,但是当打开自己的项目的时候,就会看到右下角显示 reading pom.xml 然后就卡死了。很多次都这样,后来就回滚了 2020.1,直到今天才来再次尝试发现原因和解决方案。

1.1 导致原因的设定

如果有幸点进了 setting 中的 Maven 选项卡,那么可以看到 "Maven home dictionary" 也就是自定义的本地 Maven 路径被改成了 C:\Users\{你的用户名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件下的 Maven 路径,或者是 IDEA 默认 Maven 路径。

本以为把这个改了就可以了,但是下次启动还是会被改回来。但是启动项目的时候,直接打开公司的却没啥事。

1.2 搜索到的解决方案

也过了一段时间了,网上也有解决方案了,目前解决方案为两种:

一种是删除项目内的 .mvn 文件夹(或者删除里面的 maven-wrapper.properties 文件)

还有一种是来到 C:\Users\{你的用户名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件夹下,也就是 setting 中 Maven 指向的文件夹,把已有本地的 maven 包复制到其中。

至此,解决问题应该是够用了。但是这两个是不是好的方案,下面进行分析。

二、导致问题的原因

2.1 IDEA 2020.1 和 2020.2 的区别

可以去看 JetBrains 的官网的介绍,也有中文的更新说明,以下截图来自于官网。

从图片中可以看到,IDEA 2020.2 有了对 Maven Wrapper 的支持。而它就是导致原因的所在。

2.2 IDEA 中的 Maven Wrapper

这个 Maven Wrapper 和 Gradle Wrapper 类似,直白点就是自带了一个 Maven/Gradle 的包,省去了安装、版本不一致等问题。

而 IDEA 2020.2 支持了这个功能,也就是说,差不多等于不用再手动配置 Maven 了,有了项目下的 .mvn/wrapper/maven-wrapper.properties就能直接下载项目中所需的 Maven 了。

打开 maven-wrapper.properties 文件,可以看到一般里面就只有两行(有些项目可能没有,可以去尝试 new 一个项目,比如 Spring Boot,就能看到)。

distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zipwrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

可以看到里面有两个 url 的网络地址,也就是这个项目会去从这个地址下载所需的文件。那么,如果直接打开这个 url 进行下载呢?于是我尝试了一下,如图:

可以看到,速度为几 KB/s,也就是说,当新建了一个项目的时候,它在 reading pom.xml 的时候,很有可能在以这个速度在下载,甚至可能下载失败了。如果有能力,可以试试给 IDEA 走代理,或者换网络,然后重新 reading pom.xml,这时候大概率是不会卡死的,当然也有可能最后完成的时候会报错。

2.3 Maven 的下载路径

从网络下载 Maven,必然要保存到本地的,那保存在哪里呢?就是在 C:\Users\{你的用户名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 这里。所以之前的解决方案中,复制一份自己的 Maven 到这个文件夹,是能解决问题的。

2.4 .mvn 文件夹

里面只有一个 Maven Wrapper 的 jar 和一个 maven-wrapper.properties。如果项目中有这个文件夹的话,那么手动在 setting 中设置 Maven 路径的话,是无效的,最后还是会更改到 C:\Users\{你的用户名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 或者 IDEA 的默认路径 中,所以删除 .mvn 文件夹后(或者删除 maven-wrapper.properties 文件),就能解决问题了。

三、解决方案评估

3.1 方案一:删除 .mvn 文件夹

这个方法可以使得 IDEA 能够使用自己的 Maven 路径。如果自己的 Maven 中配置了很多设置的话,建议把 .mvn 文件夹删除。

但是这个方法有个弊端,就是当新建一个工程的时候,IDEA 会默认创建 .mvn 文件夹,也就是说,手速不够快的话,还是会卡死在 reading pom.xml。

3.2 方案二:复制 Maven 到 .m2 文件夹下

这个方法解决了新建工程的时候下载 Maven 的问题,不会因为网络问题而卡在下载 Maven。但是这个方法需要把自己配置的 Maven 复制到 C:\Users\{你的用户名}\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2 文件夹中,IDEA 会默认使用这个路径下的 Maven,不能自定义,可能对于某些人会比较难受。

3.3 方案三:使用一个好的网络

导致问题的原因就是下载 Maven 的原因,也就是说,找一个能下载 Maven 的网络的话,就能避免卡死在 reading pom.xml 了。

3.4 前两种方案结合

方案一和方案二结合的话,首先确保新建工程的时候,不会因为下载而卡死,从而能将工程新建起来;然后将 .mvn 删除之后就能使用自己配置的 Maven 了,这样就不会因为用了默认路径下的 Maven 而不舒服了。

到此这篇关于IDEA2020.2.3 "reading maven projects"卡住的问题的文章就介绍到这了,更多相关idea2020.2.3 maven projects内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章