我是靠谱客的博主 美满月光,最近开发中收集的这篇文章主要介绍Maven-Archetype Catalog,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当用户以不指定Archetype坐标的方式使用maven-archetype-plugin的时候,会得到一个Archetype列表供选择,这个列表的信息来源于一个名为archetype-catalog.xml的文件,如:

archetype-catlog.xml能提供Archetype的信息,那么maven-archetype-plugin可以从哪些位置读取archetype-catlog.xml文件呢:

internal:这时maven-archetype-plugin内置的Archetype Catalog,包含了大约58个Archetype信息。

local:指向用于本地的Archetype Catalog,其位置为~/.m2/archetype-catalog.xml。需要注意的是,该文件默认是不存在的。

remote:指向了Maven中央仓库的Archetype Catalog,其确切的地址为http://repo1.maven.org/maven2/archetype-Catalog.xml。该Catalog包含了越249个Archetype信息。

file://...:用户可以指定本机任何位置的archetype-catalog.xml文件。

http://...:用户可以使用http协议指定远程的archetype-catalog.xml文件。

当用户运行mvn archetype:generate命令的时候,可以使用archetypeCatalog参数指定插件使用的Catalog,例如:

$ mvn archetype:generate -DarchetypeCatalog = file:// /tmp/archetype-catalog.xml

上述命令指定Archetyp插件使用系统/tmp目录下的archetype-catalog.xml文件。当然,用户不需要每次运行Archetype目标的时候都去指定Catalog。在maven-archetype-plugin2.0-beta-4之前的版本中,archetypeCatalog的默认值为"internal, local",默认使用插件内置加上用户本机的Catalog信息。而从maven-archetype-plugin2.0-beta-5开始,这一默认值变成了"remote, local",即默认使用中央仓库加上用户本机的Catalog信息。用户也可以使用逗号分隔多个Catalog来源。

$ mvn archetype:generate -DarchetypeCalalog = file:// /tmp/archetype-catalog.xml, local

该命令指定Archetyp从两个位置读取Catalog信息。archetype:generate的输出也会告诉用户每一条Archetype信息的来源。

 

maven-archetype-plugin提供了一个名为crawl的目标,用户可以用它来遍历本地Maven仓库的内容并自动生成archetype-catalog.xml文件。

如果不提供任何参数,crawl目标会遍历用户settings.xml定义的localRepository,并且在该仓库的根目录下生成archetype-catalog.xml文件。用户可以使用参数repository指定要遍历的Maven仓库,使用参数catalog指定要更新的catalog文件。

mvn archetype:crawl -Drepository = D:/java/repository -Dcatalog = C:/archetype-catalog.xml

将自定义的Archetype安装到本地仓库后,使用Archetype:crawl基于该仓库生成的archetype-catalog.xml就会包含该Archetype的信息,接着用户就可以在创建项目的时候指定使用该Catalog。

《Maven实战》-许晓斌

最后

以上就是美满月光为你收集整理的Maven-Archetype Catalog的全部内容,希望文章能够帮你解决Maven-Archetype Catalog所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部