热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

IDEA2020.2.3"readingmavenprojects"卡住的问题

这篇文章主要介绍了IDEA2020.2.3"readingmavenprojects"卡住的问题及问题原因探究,通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

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 更新说明

从图片中可以看到,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.zip

wrapperUrl=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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
author-avatar
mobiledu2502900597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有