使用archetype
mvn archetype:generate
根据提示输入需要archetype的编号,然后依次groupid,artfactid,version。
还有一种方式是批处理方式使用:
编写archetype
一个典型的maven项目主要包括一下几个部分:
1、pom.xml :Archetype自身的pom,与正常项目的pom一样,正常的打包类型为jar
2、src/main/resoureces/archetype-resources/pom.xml:基于该Archetype生成的项目的pom原型,不要和第一点的pom混淆;pom里可以使用maven属性替代硬编码,
3、src/main/resources/META-INF/maven/archetype-meta.xml: Archetype的描述符文件;例子:
fileset:定义一个目录以及该目录相关的包含和排除规则,filtered表示对该文件结合应用属性替换,pakaged,表示是否将该路径下的内容放入生成项目的包路径下;directory表示哪些目录需要包含到生成项目里,includes表示目录下哪些文件需要包含到生成项目里。
requiredProperties: 必须的参数,可以设置默认值;groupid,artfactid,version,package,都是默认必须要传的。
4、src/main/resources/archetype-resources/** : 其他需要的资源
自己编写archetype有两种方式:
第一种方式:新建maven项目然后改造成archetype项目:
1.新建maven项目,修改pom:
2、创建项目骨架:
3.创建生成项目的pom原型
4、创建archetype-meta.xml
5、mvn clean install ,将archtype安装到本地仓库
6、然后就可以使用自己创建的archetype 新建项目了
第二种方式:create-from-project
顾名思义,就是以一个项目做为模板复制成archetype
1、建立好项目模板,配置pom
2、mvn archetype:create-from-project
3、然后检查一下 target/generated-sources/archetype/src/main/resources/archetype-resoureces/pom.xml,以及它上一层目录里META-INFO下的archetype-meta.xml是否需要微调。
4、然后进入cd 进入 target/generated-sources/archetype,执行mvn clean install
5、就可以使用自己创建的archetype创建项目了
archetype-catalog
根据上述两种方式创建完archetype之后,使用的时候你会发现找不到你刚才创建的archetype
执行一下:mvn archetype:crawl 会在本地仓库的根目录下生成一个 archetype-catalog.xml
这个文件里就有本地仓库的archetype列表。
命令行里: mvn archetype:generate -DarchetypeCatelog = local, 就可以使用这个列表里的archetype了。
eclipse :
intellij IDEA :
安装maven-archtype-catalog plugin
添加本地catalog
catelog的来源:
internal:maven-archetype-plugin 内置的archetype
local: 本地的archtype-catalog,默认路径就是本地仓库的根目录(个人实验),部分文档上说是~/.m2 文件夹下
remote: 中央仓库的catalog
file:本地路径下的catalog
http: 用户通过http协议指定远程catalog
我们可以使用 -DarchetypeCatalog 来指定使用哪个catalog
默认是使用:remote + local