困扰

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版本,重新尝试第三种方案,结果居然成功了,兴奋过后我又在私人电脑上尝试了前两种方案,发现还是解决不了问题,而且直到现在我都不知是什么原因导致,无奈,只能过后再研究看看。

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

idea创建maven项目速度慢?别急,这有三种方案的更多相关文章

  1. 解决IntelliJ IDEA 创建Maven项目速度慢问题

    IntelliJ IDEA 创建maven项目速度很慢,甚至卡住不动了. 原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行 ...

  2. 解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog

    原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件. 该命令的 ...

  3. 【开发工具IDE】解决IntelliJ IDEA 创建Maven项目速度慢的问题

    方法一(推荐) 在创建Maven项目时加上 archetypeCatalog=internal 参数,如下: 方法二 在maven的VM Options加上-DarchetypeCatalog=int ...

  4. 解决idea创建Maven项目速度慢

    idea在创建maven项目的时候会去网上自动下载需要的插件,这样就会导致项目创建后一直处于下载插件的状态中,影响开发效率 此时我们可以在创建maven骨架的时候,加入键值对来让maven调用本地的骨 ...

  5. 关于IntelliJ IDEA 创建Maven项目速度慢

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

  6. idea创建maven项目慢的原因以及解决方案

    问题分析;在idea中maven项目所依赖的jar包,默认是从中央仓库直接下载jar包,不管jar包是否在本地仓库存在,所以导致idea创建maven项目速度慢,那么要解决这个问题,那么将idea设置 ...

  7. 命令行创建Maven项目卡住以及出错解决办法。

    第一次通过命令行创建maven项目.结果,果不其然啊,还是出问题了,不过出问题比没有出问题强,知道哪里有问题并学会解决也是一种收获. 遇到的第一个问题,在从仓库下载东西的时候会卡住,我开始以为是网速问 ...

  8. Eclipse 创建 Maven 项目

    本人也是新手小白,在创建 Maven 项目的时候几乎踩完了所有的坑.特此总结如下: 1.咱先选中 File -> New -> Maven Project 2.然后如下图    在这里说明 ...

  9. 使用IDEA创建Maven项目和Maven使用入门(配图详解)

    本文详解的讲解了使用IDEA创建Maven项目,及Maven的基础入门. 1.打开IDEA,右上角选择File->New->Project 2.如图中所示选择Maven(可按自己所需添加, ...

随机推荐

  1. PHY过采样问题

    什么频率下进行过采样 ?? 按时程序是LMDS时钟小于100M时会进行过程采样,实际上PHY的文档上也有明确的说明: The minimum operational data rate is 1.0 ...

  2. cf 700e(sam好题,线段树维护right)

    代码参考:http://blog.csdn.net/qq_33229466/article/details/79140428 #include<iostream> #include< ...

  3. 1.Spring框架入门案例

    一.简单入门案例 入门案例:IoC 1.项目创建与结构 2.接口与实现类 User.java接口 package com.jd.ioc; /** * @author weihu * @date 201 ...

  4. Centos7中docker开启远程访问

    在作为docker远程服务的centos7机器中配置: 1.在/usr/lib/systemd/system/docker.service,配置远程访问.主要是在[Service]这个部分,加上下面两 ...

  5. Objective-C优缺点

    优点: 1:Category,使用category可以在不改变原来类的同时为类增加新的方法或者重写原来类的方法实现(使用runtime方法还可以在分类中实现方法交换和添加属性操作) 2:运行时 动态识 ...

  6. ES6-字符串扩展-padStart(),padEnd()

    ES6 引入了字符串补全长度的功能,如果某个字符串不够指定长度,会在头部活尾部补全. padStart() 用于头部补全: padEnd() 用于尾部补全. 上面代码中,padStart 和 padE ...

  7. Servlet-xml配置简介以及url-pattern简介

    编写一个Servlet是需要实现Servlet接口,或者继承HttpServlet. 一个已经注册的Servlet可以被多次映射,如下图所示 或者多个url-pattern放在同一个servlet-m ...

  8. 【BJOI2019】排兵布阵 DP

    题目大意:有$n$座城堡,$s$轮游戏. 对于第$x$轮,第i座城堡的士兵数量为$a[x][i]$. 如果你需要攻下第i座城堡,你在第i座城堡部署的士兵必须严格大于$2a[x][i]$,如果攻下了你会 ...

  9. 为什么(2.55).toFixed(1)等于2.5?

    上次遇到了一个奇怪的问题:JS的(2.55).toFixed(1)输出是2.5,而不是四舍五入的2.6,这是为什么呢? 进一步观察: 发现,并不是所有的都不正常,1.55的四舍五入还是对的,为什么2. ...

  10. springboot + mybatis

    这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关于spring boot ...