1. 什么是archeType
我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。

或者使用mvn archetype:generate命令来快速创建maven项目,也会有很多个选项,让你选择模板序号。那每个模板之间有什么区别呢?
每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。
2. 创建archetype
假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。
cd 到项目根目录下执行(pom.xml同级目录)。
mvn archetype:create-from-project
此时会在项目target下生成这些文件:

3. 生成archetype模板
先cdtarget/generated-sources/archetype/然后执行 mvn install
执行成功后,执行crawl命令,在本地仓库的根目录生成archetype-catalog.xml骨架配置文件:
mvnarchetype:crawl

来看一看它里面的内容:
[fantj@lalala repository]$ cat archetype-catalog.xml<?xml version="1.0"encoding="UTF-8"?>com.fantjmy-self-defind-archtype-archetype0.0.1-SNAPSHOTmy-self-defind-archtype
4. 使用archetype模板
执行mvn archetype:generate -DarchetypeCatalog=local从本地archeType模板中创建项目。
mvn archetype:generate -DarchetypeCatalog=local
然后会让你选择模板序号和groupId``artifactId``version和package信息:
Choosearchetype:1: local -> com.fantj:my-self-defind-archtype-archetype (my-self-defind-archtype)Choose a numberorapply filter (format:[groupId:]artifactId,casesensitive contains): :1Define valueforproperty'groupId': com.fantjDefine valueforproperty'artifactId': my-self-defind-archetype-testDefine valueforproperty'version'1.0-SNAPSHOT:: Define valueforproperty'package'com.fantj:: Confirm propertiesconfiguration:groupId:com.fantjartifactId:my-self-defind-archetype-testversion:1.0-SNAPSHOTpackage:com.fantjY:: y[INFO] ----------------------------------------------------------------------------[INFO] Using following parametersforcreating project fromArchetype:my-self-defind-archtype-archetype:0.0.1-SNAPSHOT[INFO] ----------------------------------------------------------------------------[INFO]Parameter:groupId,Value:com.fantj[INFO]Parameter:artifactId,Value:my-self-defind-archetype-test[INFO]Parameter:version,Value:1.0-SNAPSHOT[INFO]Parameter:package,Value:com.fantj[INFO]Parameter:packageInPathFormat,Value:com/fantj[INFO]Parameter:package,Value:com.fantj[INFO]Parameter:version,Value:1.0-SNAPSHOT[INFO]Parameter:groupId,Value:com.fantj[INFO]Parameter:artifactId,Value:my-self-defind-archetype-test[INFO] Project created from Archetypeindir:/home/fantj/IdeaProjects/maven-tutorial/my-self-defind-archetype-test[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
项目创建成功!
当然,也可以使用IDEA来帮我们用图形界面使用archeType模板创建项目:

图1

图2

图3
后面的就与创建普通项目相同了,不做演示。
作者:FantJ
链接://www.greatytc.com/p/724a9fa7b37a
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
