虽然maven已经提供了maven-archetype-webapp、maven-archetype-quickstart等项目骨架帮助我们快速构建项目架构,但是默认提供的archetype初始化的项目架构并不能满足开发需求,这时候就有必要自己写一个满足项目需求的archetype了
01 使用自定义archrtype生成的项目结构图
为了激发阅读兴趣,先放一张使用自定义archetype生成项目的项目结构图
基本上的类都是archetype
生成的,为了让你们学习真是用尽办法
02 archetype是什么
可以简单的理解为模板工具类,通过archetype
我们可以快速的生成项目的基本架构。比如我们使用idea
创建一个maven web
项目时,常常会选择maven-archetype-webapp
模板来初始化项目,使用maven-archetype-webapp
生成的项目中包括webapp
目录,里面包含web
的配置文件
03 archetype的组成
要想写一个自定义archetype
,首先得知道一个archetype的组成。archetype由四部分组成:
prototype files
原型文件
位于src/main/resources/archetype-resource
目录下。prototype files
原型文件可以理解为多模块中的子模块或是单模块工程中的源文件[即src文件]。这些原型文件在使用对应archetype
生成项目时被生成archetype-metadata.xml
位于src/main/resources/META-INF/maven/
目录下。该配置文件中主要列出了原型文件以及使用archetype
生成模板工程需要的参数prototype pom
位于src/main/resources/archetype-resources
目录下。这个pom
文件会出现在archetype
创建的模板工程中,如果是单模块工程,则是对整个项目的依赖管理;如果是多模块工程,该pom
是总pom
文件,该文件中会定义项目的子模块以及对子模块的依赖进行管理等,子模块pom
定义在子模块下,子模块pom文件只管理子模块的依赖。archetype pom
位于自定义archetype
工程的根目录下。这是archetype
工程项目的pom
文件,里面一般没什么东西,不会出现在archetype
创建的模板工程中
04 superman[自定义archetype]结构说明
superman
项目结构图 包含了archetype
的四个组成部分,两个pom
文件,一个archtype-metadata
文件和五个原型文件[__rootArtifactId__-*
],其中__rootArtifactId__
在生成模板工程时会被传入的值替代- archtype-metad