[toc]
自定义maven archtype
总不能每次搭建开发环境都把重复的一堆东西复制一遍吧.
一 新建maven项目 vic-boot-archtype
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pers.vic</groupId>
<artifactId>vic-boot-archtype</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>一个简单的Archetype</name>
<description>一个简单的springboot Archetype</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</build>
</project>
archetype-metadata.xml
: Archetype的描述文件archetype-metadata.xml
文件: Archetype的描述文件archetype-metadata.xml:
<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="vic-springboot">
<fileSets>
<!--fileSet对应一个目录以及该目录相关的包含或排除规则-->
<!--filtered表示是否对该文件及合应用属性替换,像${x}这样的内容是否替换成命令行输入的x参数的值-->
<!--packaged表示是否将该目录下的内容放到生成项目的包路径下-->
<fileSet filtered="true" packaged="true">
<!--src/main/java对应archetype-resources/src/main/java-->
<directory>src/main/java</directory>
<!--只包含archetype-resources/src/main/java下的.java文件-->
<include>**/*.java</include>
</fileSet>
<!--resources一般没有包路径,所以packaged设置为false-->
<fileSet filtered="true" packaged="false">
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true">
<directory>src/test/java</directory>
<include>**/*.java</include>
</fileSet>
</fileSets>
<requiredProperties>
<!--使用archetype时候必须要求输入的参数,archetype中可以使用${port}获取-->
<requiredProperty key="port">
<defaultValue>10081</defaultValue>
</requiredProperty>
<requiredProperty key="groupId">
<!--可以设置默认值,使用archetype会使用默认值-->
<defaultValue>pers.vic</defaultValue>
</requiredProperty>
</requiredProperties>
</archetype-descriptor>
maven-archetype-plugin
插件更新模版archetype:crawl 在一个指定的Maven库中查找可以的模板,并更新模板目录
运行此命令后在本地仓库生成一个文件archetype-catalog.xml
archetype-catalog.xml
<?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>pers.vic</groupId>
<artifactId>vic-boot-archtype</artifactId>
<version>1.0.0</version>
<description>vic-springboot</description>
</archetype>
</archetypes>
</archetype-catalog>
Eclipse:Preferences >> Maven >> archetypes >> add local catalog….. 选在步骤四中的文件
IDEA: new Module -> maven -> create from Archetype->Add Archetyp->t填入groupId artifactId等
在新建maven project的时候就可以直接使用此模版了;
由于本人本地未搭建私服仓库, 故未验证此步骤