Maven构建项目速度太慢的解决办法

问题描述

通过idea新建maven项目,参数设置好后,idea自动构建maven项目时,速度很慢。

参数设置如图:

执行时间如下图:

Total time为8:49,花了将近十分钟时间。

连续尝试了几次,都是如此,感觉编辑器卡住了一样。

问题原因

[DEBUG] Searching for remote catalog: http://repo1.maven.org/maven2/archetype-catalog.xml这一条语句执行了很久。

编辑器在执行mvn archetype:generate命令时,需要指定一个archetype-catalog.xml文件,该命令的参数为-DarchetypeCatalog,用来指定archetype-catalog.xml文件从哪里获取,可选值为:remote,internal,local,默认为remote,即从http://repo1.maven.org/maven2/archetype-catalog.xml路径下载archetype-catalog.xml文件,查看该文件可知,如下图:

该文件大小将近6M,在网速不理想情况下,由此方式下载势必会造成卡顿的情况。

速度测试

于是使用上述archetypeCatalog参数的三个数值remote,internal,local分别进行测试,得出如下结果:

  • 参数值为remote时,Total time为8:49,如图:
  • 参数值为internal时,Total time为1:19,如图:
  • 参数值为local时,Total time为4:01,如图:

当然,测试取样数值较少,且为网速较低时测试,得到的结果也只是一个大概情况,即internal优于local优于remote,可能网速较快时,误差可以忽略。

因此,修改配置时的archetypeCatalog参数值即可。

archetypeCatalog设置

1、remote为默认值,不需设置。

2、修改archetypeCatalog为internal,有以下两种方法:

  • 在新建maven项目时添加archetypeCatalog参数,并将值设置为internal
  • 直接修改maven配置参数,在使用mvn archetype:generate命令时,加上-DarchetypeCatalog=internal

3、修改archetypeCatalog为local前,需要先将archetype-catalog.xml下载至本地,并将此文件放至maven仓库目录下,设置archetypeCatalog为local时,同样有以下两种方法:

  • 在新建maven项目时添加archetypeCatalog参数,并将值设置为local
  • 直接修改maven配置参数,在使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local

几种解决方法都已罗列出来,至于选哪种,就看你喜好啦,编程过程中无卡顿,美滋滋。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jackson0714

PHP内核之旅-1.生命周期

12720
来自专栏ThoughtWorks

Gradle 命令行黑魔法

#ThoughtWorkers好声音# 第十五期 关于 Gradle ,我们常常会想到的是如何编写一个 Task ,怎么写一个 Plugin ,但是对于 Gr...

27750
来自专栏Crossin的编程教室

为什么你的python版本一团糟?因为少了这个操作

在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学 Python 的人,放心大胆地用最新版本即可。业内所诟病的,主要是针对代码上的不兼容...

12520
来自专栏北京马哥教育

1000+人推荐的30个实用的Linux命令

本文由马哥教育Linux云计算面授班25期学员推荐,转载自互联网,作者为Mandy,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 1...

313110
来自专栏JetpropelledSnake

RESTful源码学习笔记之RPC和Restful深入理解

RPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。通常的实...

11230
来自专栏Linyb极客之路

Spring Boot的并发编程

1.4K60
来自专栏java思维导图

一文理解Netty模型架构

本文基于Netty4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给读者提供学习实践参考。

13840
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部...

36680
来自专栏Spark学习技巧

JAVA的网络IO模型彻底讲解

JAVA的网络IO模型彻底讲解 1,最原始的BIO模型 该模型的整体思路是有一个独立的Acceptor线程负责监听客户端的链接,它接收到客户端链接请求之后为每个...

30080
来自专栏晓晨的专栏

使用 JMeter 进行压力测试

41820

扫码关注云+社区

领取腾讯云代金券