问题描述:
新建maven项目时,存在加载缓慢,或直接一直保持一个加载状态
问题原因:
创建maven项目的时候,需要从http://repo.maven.apache.org/maven2/archetype-catalog.xml下载项目原型信息,访问外网,就可能存在类似问题。
================================================
ArchetypeCatalog介绍
The Archetype Plugin knows by default its internal catalog. It also knows about the local and remote catalogs:
local represents the ~/.m2/archetype-catalog.xml catalog file,
remote represents the
http://repo.maven.apache.org/maven2/archetype-catalog.xml catalog file.
IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件。
该命令的参数-DarchetypeCatalog,可选值为:remote,internal ,local等,用来指定archetype-catalog.xml文件从哪里获取。
archetypeCatalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:
internal——maven-archetype-plugin内置的
local——本地的,位置为~/.m2/archetype-catalog.xml
remote——指向Maven中央仓库的Catalog
默认为remote,从
http://repo1.maven.org/maven2/archetype-catalog.xml下载archetype-catalog.xml文件。
解决方式:
新建project时,添加maven 属性:archetypeCatalog=internal
archetypeCatalog=internal
结果如预期
1、 先下载 archetype-catalog.xml 文件
http://repo1.maven.org/maven2/archetype-catalog.xml
已经下载好的archetype-catalog.xml
archetype-catalog.xml
2. copy 此 archetype-catalog.xml 文件到本地仓库的 maven 下 catelog 的 jar 下面
放这个位置,也没用
-DarchetypeCatalog=local
使用 -DarchetypeCatalog=local 配置 出现了这种情况,还是去网上下载了
按照提示:-DarchetypeRepository=
-DarchetypeRepository=D:.m2\repository //全局配置推荐这个
虽然出现了警告,无法连接这个仓库,之后调用默认的BasicRepositoryConnectorFactory,没有去访问外网,并BUILD SUCCESS
Cannot access D:\.m2\repository with type default using the available connector factories: BasicRepositoryConnectorFactory
-DarchetypeCatalog=internal//在有的情况下,是没有效果的
Other Settings 中的Default Settings ;
更改项目的默认配置
手动配置命令
archetypeCatalog=internal
全局配置命令
-DarchetypeRepository=
====================================
添加阿里云的mirror
修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:
<mirrors>
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
mirrors>
mvn archetype:generate \
-DgroupId=com.mycom.helloworld \
-DartifactId=helloworld \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false \
-DarchetypeCatalog=http://maven.aliyun.com/nexus/content/groups/public/
详情查看:
让maven使用国内镜像和archetypeCatalog
参考:
IDEA新建MAVEN项目时速度缓慢
[Maven]archetypeCatalog笔记