一、Archetype简介
1.1 Arcetype是什么
简单来说,原型(Archetype)是一个Maven工程模板工具包。
1.2 为什么使用Archetype
一个原型被定义为提供相同性质和内容的原始模型。当我们试图构建一个项目时,Archetype可以通过已生成的模板构建相同结构的Maven项目。
Archetype主要功能包括:
(1)从项目中创建工程模板
(2)检索Maven仓库中工程模板
(3)通过工程模板生成项目
二、使用Archetype
2.1 从项目中创建工程模板
(1)创建Maven项目
(2)pom增加maven-archetype-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.2.0</version>
</plugin>
(3)archetype:create-from-project生成工程模板
(4)cd target/generated-sources/archetype/
(5)pom添加distributionManagement
为什么要添加?因为:这样生成的archetype上传才能找到存放的远程Nexus仓库
<!-- 配置部署的远程Nexus仓库 -->
<distributionManagement>
<repository>
<id>releases</id>
<!--这个ID需要与你的release仓库的Repository ID一致-->
<url>******/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<!--这个ID需要与你的snapshots仓库的Repository ID一致-->
<url>******/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
(6)执行mvn install -Dmaven.test.skip=true
为什么要叫-Dmaven.test.skip=true?因为:忽略单元测试
(7)执行mvn deploy
为什么要再执行deploy?因为:如果仅打包到本地仅执行install既可,存放远程仓库公用需要deploy
(8)查看生成模板
2.2 检索Maven仓库中工程模板
(1)执行mvn archetype:crawl检索本地仓库所有工程模板
(2)打开本地仓库,找到archetype-catalog.xml文件
(2)查看工程模板GroupId、ArtifactId、Version,记住需要使用的模板信息
2.3 通过工程模板生成项目
(1)打开IDEA创建项目
(2)添加archetype的GroupId、ArtifactId、Version
(3)设置新项目GroupId、ArtifactId、Version
(4)设置新项目Maven
(5)设置新项目名、项目地址
(6)新建项目完成