如何解决构建maven项目时速度很慢的问题

Apache Maven是当今非常流行的项目构建和管理工具,它把开发人员从繁杂的项目依赖关系处理事务中解放出来,完全自动化管理依赖问题。在应用开发过程中,通常我们会用到maven的archetype插件来生成项目框架。无论我们是使用命令行或者IDE来构建maven项目,填写完各种参数,创建时,总会卡在“[INFO] Generating project in Batch mode”处。有时候等很久才构建完,这个时间都可以去睡上一觉了。有时还会报错,导致构建失败!

查阅资料后才发现,原因如下:

       构建过程中,我们只是向maven提供了一些groupId、artifactId、archetypeArtifactId等信息,只有这些信息的情况下maven是如何构建出整个项目的呢?它的知识来源于哪里呢?

http://repo1.maven.org/maven2/archetype-catalog.xml  

这里记录了,所有archetype构建信息,maven通过archetype插件构建项目骨架时会远程访问页面,通过maven的-X参数可以证明这一点。

网上查阅的解决方案:

如上分析可知,是由于achetype-catalog.xml文件的访问问题,导致了整个构建过程的缓慢,所以是否能够将文件保存到本地,成为一种解决思路。翻阅Maven官方文档可以找到,确实是可以的。官方链接如下:

[html]  view plain  copy
  1. http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html  
按照如下步骤:

      1)准备archetype-catalog.xml文件

            方式1:通过浏览器查看http://repo1.maven.org/maven2/archetype-catalog.xml页源码,复制到本地,命名为archetype-catalog.xml。

            方式2:通过命令行  curl http://repo1.maven.org/maven2/archetype-catalog.xml > archetype-catalog.xml

      2)将上述文件放置到maven的默认路径下

            注意,这不是指的安装路径,而是mvn运行时默认的存放repository的路径,一般在用户根目录下的一个隐藏目录,~/.m2。如果做过更改,可以在maven的设置文件中查看             具体在哪个位置,设置文件在maven安装目录/config/settings.xml中。

      3)在构建时,在archetype:generate后加上 -DarchetypeCatalog=local参数。IDE如eclipse和idea,都是可以在创建maven工程时设置构建参数的。


方案2:


在使用Maven新建webapp时,如下图所示,添加

archetypeCatalog=internal


2、如第一步不能解决构建慢的问题,手动下载maven,解压配置好环境变量;

3、修改下载下来的maven目录下面conf/settings.xml文件,修改镜像源,使用国内阿里巴巴的镜像源;

<mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
</mirror>
本人用的就是修改 maven目录下面conf/settings.xml文件,使用国内阿里巴巴的镜像源;

再次构建项目,速度杠杠的,项目构建分分钟的事!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值