0%

maven自定义模板

maven自定义模板

在使用maven构建项目的时候,估计会很好奇maven中的archetype是怎么来的,这个其实是可以自己自定义的

首先有一个自己创建好的maven项目,使用mvn archetype:create-from-project编译生成

target/generated-sources/archetype目录,在该目录下执行mvn install,之后执行mvn archetype:crawl会在本地仓库的根目录生成archetype-catalog.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<archetypes>
<archetype>
<groupId>org.apache.maven.archetypes</groupId>
<artifactId>maven-archetype-quickstart</artifactId>
<version>1.0</version>
<description>quickstart</description>
</archetype>
<!-- 这个就是新生成的模板 -->
<archetype>
<groupId>com.zhanghe.study.springcloud</groupId>
<artifactId>micro_service_parent-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<description>micro_service_parent</description>
</archetype>
</archetypes>
</archetype-catalog>

使用自定义的模板来构建项目

1
mvn archetype:generate -DarchetypeCatalog=local -DarchetypeGroupId=com.zhanghe.study.springcloud -DarchetypeArtifactId=micro_service_parent-archetype