idea创建maven项目速度慢的三种解决方案

 更新时间:2019年01月30日 10:02:37   作者:xue无止境  
这篇文章主要介绍了idea创建maven项目速度慢的三种解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

困扰

Intellij idea是一款非常强大的编辑器,可以很方便地帮我们创建maven项目,有用过的同学应该都深有体会,但我们经常会遇到一个困扰,那就是用idea创建maven项目时,速度很慢,往往需要好几分钟的时间,有时甚至会卡住,主要原因是创建maven项目时默认是下载求网络上的一个文件archetype-catalog.xml,该文件的大小有5-6M,下载的速度很慢,导致创建过程也变得很慢。

解决办法

解决办法有三种,并且都需要对maven的VM Options参数做配置。

方法一

在maven的VM Options加上-DarchetypeCatalog=internal参数,步骤如下:

打开idea的启动界面,进入全局设置

搜索maven,点击Runner一栏,在VM Options输入框里写上 “-DarchetypeCatalog=local”,

确定后,再新建maven项目,就能发现项目很快就创建完成。

方法二

下载archetype-catalog.xml文件,在maven的VM Options加上-DarchetypeCatalog=local

默认情况下,创建maven项目是从网络下载catalog文件,我们可以将catalog文件下到本地,然后通过设置archetype的使用方式为local,这样就不用每次都从网络上下载了。

步骤:

1、下载archetype-catalog.xml文件到本地。

文件的位置是http://repo1.maven.org/maven2/archetype-catalog.xml,但直接访问是下载不了,我把该文件放在了github上,有需要的同学可以点击下载。

https://github.com/Taoxj/sc_properties

2、下载后放到本地仓库中对应的位置

maven本地仓库的位置与settting.xml中的配置有关,例如我的setting.xml配置仓库的位置是:D:\apache-maven-3.6.0\repository

那么catalog文件就可以放在 D:\apache-maven-3.6.0\repository\org\apache\maven\archetype\archetype-catalog\3.0.1下

如果setting.xml没有配置仓库位置,那么就放到默认本地仓库下面对应的位置即可。本地仓库的默认位置是:Default: ${user.home}/.m2/repository,例如笔者的计算机用户名是Administrator,仓库位置就是 C:\Users\Administrator.m2\repository。

3、修改maven的VM Options参数

跟之前方法的步骤一样,打开全局设置中的maven设置栏,然后在VM Options输入框中填入

-DarchetypeCatalog=local

这样maven每次就会从本地获取catalog文件,创建项目时就不用等那么久了。

方法三

在maven的VM Options加上-Dmaven.multiModuleProjectDictory=$MAVEN_HOME参数,MAVEN_HOME是你环境变量中配置maven环境的名称

设置好参数后,新建maven项目的时候添加上参数archetypeCatalog,值为local,或者是如果本地仓库里有了catalog文件,参数值也可以为local

确定之后,maven项目就能很快的建成了。

心得

以上就是解决idea创建maven项目速度慢的几种方案,值得说明的是,三种方案并不都是有效的,例如笔者曾经尝试过前两种方案,发现公司的电脑能成功,家里的电脑却行不通,然后我又尝试了第三种方案,发现还是失败,上网查了一下才知道,原来是jdk和maven版本不兼容的问题。

两台电脑的jdk版本都是1.8的,但我公司电脑安装的maven版本是3.5,而私人电脑安装的是3.3的maven版本,于是我在私人电脑上同样安装了3.5的maven版本,重新尝试第三种方案,结果居然成功了,兴奋过后我又在私人电脑上尝试了前两种方案,发现还是解决不了问题,而且直到现在我都不知是什么原因导致,无奈,只能过后再研究看看。

最后提点建议,读者们可以先尝试前两种方案,因为一劳永逸,不用创建项目的时候都配置参数,如果行不通的话再采取第三种方案好了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 如何使用MyBatis Plus实现数据库curd操作

    如何使用MyBatis Plus实现数据库curd操作

    MyBatis-Plus是一个MyBatis 的增强工具,在MyBatis,的基础上只做增强不做改变,为简化开发、提高效率而生。 这篇文章主要介绍了MyBatis Plus实现数据库curd操作,需要的朋友可以参考下
    2021-09-09
  • 如何把spring boot项目部署到tomcat容器中

    如何把spring boot项目部署到tomcat容器中

    本文给大家分享如何把spring boot项目部署到tomcat容器中,本文给大家介绍的非常详细,需要的朋友参考下
    2017-04-04
  • SpringMvc直接接收json数据自动转化为Map的实例

    SpringMvc直接接收json数据自动转化为Map的实例

    今天小编就为大家分享一篇SpringMvc直接接收json数据自动转化为Map的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • SpringMVC请求/响应乱码问题解决方案解析

    SpringMVC请求/响应乱码问题解决方案解析

    这篇文章主要介绍了SpringMVC请求/响应乱码问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 二叉排序树的实现与基本操作

    二叉排序树的实现与基本操作

    二叉排序树又称二叉查找树。本文主要对二叉排序树的实现与基本操作进行详细介绍,以下代码实现了:1、二叉树的构建;2、二叉树的中、前、后、层序遍历;3、二叉树中结点的最大距离。下面就跟着小编一起来看下吧
    2016-12-12
  • Java中递归构建树形结构的算法解读

    Java中递归构建树形结构的算法解读

    该文章介绍了如何使用Java递归算法构建树形结构,通过定义树节点类,遍历扁平数据列表,将节点加入对应父节点的子节点列表中,实现从扁平数据到树形结构的转换
    2025-03-03
  • ​​​​​​​Java公平锁和非公平锁的区别

    ​​​​​​​Java公平锁和非公平锁的区别

    本文介绍​​​​​​​Java公平锁和非公平锁区别,公平锁是每个线程获取锁顺序是按照线程访问锁的先后顺序获取的,最前面的线程总是最先获取到锁;而非公平锁是每个线程获取锁的顺序是随机的,并不会遵循先来先得的规则,所有线程会竞争获取锁,下文内容需要的朋友可以参考下
    2022-05-05
  • 10个实现Java集合,Map类型自由转换的实用工具方法

    10个实现Java集合,Map类型自由转换的实用工具方法

    这篇文章主要为大家整理了整理了10个实用工具方法,可以满足 Collection、List、Set、Map 之间各种类型转化,文中的示例代码讲解详细,需要的可以参考下
    2023-09-09
  • Java微信公众平台之群发接口(高级群发)

    Java微信公众平台之群发接口(高级群发)

    这篇文章主要为大家详细介绍了Java微信公众平台之群发接口,高级群发功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Java设计模式中的外观模式详解

    Java设计模式中的外观模式详解

    外观模式为多个复杂的子系统,提供了一个一致的界面,使得调用端只和这个接口发生调用,而无须关系这个子系统内部的细节。本文将通过示例详细为大家讲解一下外观模式,需要的可以参考一下
    2023-02-02

最新评论