Archetype简介
Archetype 用来生成Maven项目的骨架。
使用 maven-archetype-plugin 插件来实现。
命令
mvn archetype:generate
命令来生成项目的框架。
执行中需要输入项目的 groupId, artifactId, version, package 命名。
批处理方式生成:使用 -B 参数
使用 -D 参数显式的指定Maven项目的坐标信息。
mvn archetype:generate -B -DarchetypeGroupId=org.apache.maven.archetypes
-DgroupId=com.abc
-DartifactId=webappdemo
-Dpackage=com.abc.webappdemo
-DarchetypeArtifactId=maven-archetype-quickstart
-Dversion=1.0
常用的archetype
中央仓库中常用的archetype 在 http://repo1.maven.org/maven2/archetype-catalog.xml
- maven-archetype-quickstart
最常用的archetype, 生成项目十分简单, 默认值 - maven-archetype-webapp
简单的 Maven war项目, 创建一个Web应用 - AppFuse Archetype
集成了很多开源工具的项目, 包含了持久层, 业务层, 展示层的一个基本结构。
Archetype Catalog
当用户不指定Archetype坐标的方式使用 maven-archetype-plugin 的时候, 会得到一个 Archetype列表供选择, 这个列表的信息来源于 archetype-catalog.xml 文件。
http://repo.maven.apache.org/maven2/archetype-catalog.xml
他只是在寻找远程原型数据信息,而这个数据在外网并且还挺大,导致速度很慢,解决方式是我们手动下载这个archetype-catalog.xml文件到我们本地,把它放在.m2的目录下,.m2目录下也可以放置maven的配置文件,并且maven默认的本地仓库目录就在.m2的目录下面。.m2下面的maven配置文件比maven安装目录下的config目录下面的配置文件优先级高。因为.m2存在于当前用户的目录下,不同的用户有自己的maven配置习惯。
把archetype-catalog.xml放在.m2目录下后我们在使用mvn archetype:generate时在后面添加
-DarchetypeCatalog=local
这时mvn会使用本地的原型数据来供你选择生成骨架的原型。
archetypeCatalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:
internal——maven-archetype-plugin内置的
local——本地的,位置为~/.m2/archetype-catalog.xml
remote——指向Maven中央仓库的Catalog
file:/… —— 用户指定本地的archetype-catalog.xml 文件
http://… ——使用http协议 指定 archetype-catalog.xml 文件
地址: https://blog.youkuaiyun.com/yonggang7/article/details/79944780