在maven的五分钟入门 里面,有这样一个命令:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
这句话的命令是创建一个默认的项目.
Maven所提供的archetype功能都是由插件Maven Archetype Plugin完成的
官网地址:http://maven.apache.org/archetype/maven-archetype-plugin/
mvn archetype:generate -DgroupId=com.charles
-DartifactId=webappdemo
-Dpackage=com.charles.webappdemo
-DarchetypeArtifactId=maven-archetype-webapp
-Dversion=1.0 -DinteractiveMode=No
maven默认提供的archetype类型可以参考http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
但我在执行这个命令时,命令行会停在
[INFO] Generating project in Batch mode
增加一个-X参数,可以查看详细信息
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -X
可以看到,程序停在了下面这一行。
[DEBUG] Searching for remote catalog: http://repo1.maven.org/maven2/archetype-catalog.xml
去查询这个文件的时候网络比较差或者其他原因,导致挂在那里。
解决方法如下:
1.把上述地址复制到浏览器中,下载这个文件到本地。
2. 把文件archetype-catalog.xml复制到目录.m2\repository\org\apache\maven\archetype\archetype-catalog\2.2下面。(备注:下载archetype-catalog.xml文件有两个方法:一、直接通过链接http://repo.maven.apache.org/maven2/archetype-catalog.xml下载(不推荐,慢);二、通过文件夹链接http://repo.maven.apache.org/maven2/然后找到archetype-catalog.xml右键保存进行下载(推荐!))
3.在上述命令后增加参数-DarchetypeCatalog=local,变成读取本地文件即可。或者指定-DarchetypeCatalog为internal,即可使用maven默认的archetype-catalog.xml,而不用再remote下载。
�如果你用的是idea,可以这样来设置:
设置maven不要从远程服务器上获取catalog,增加参数-DarchetypeCatalog=internal
如何在idea里设置maven参数:
注: archetypeCatalog表示插件使用的archetype元数据,默认值为remote,local,即中央仓库archetype元数据(http://repo1.maven.org/maven2/archetype-catalog.xml)加上插件内置元数据的和