以webapp模板项目为例,使用的IDE为IDEA 2019
1.创建webapp模板项目,结构如下图
共性配置文件如applicationContext-dao.xml、applicationContext-service.xml、spring-mvc.xml、applicationContext-trans.xml、log4j.xml等可以自己额外添加到resources目录下,作为模板
2.修改pom文件,加入如下内容:
<build> <finalName>yyj-archetype-webapp</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>3.1.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> <includeEmptyDirs>true</includeEmptyDirs> </configuration> </plugin> </plugins> </pluginManagement> </build>
3.项目根目录(pom.xml)所在目录)执行maven命令:mvn archetype:create-from-project
执行成功如下图:
注意没有使用IDE自带的Maven,可能报:[ERROR] The specified user settings file does not exist: C:\Users\cchengyyj\.m2\settings.xml
解决办法:将独立的安装maven的setting.xml文件拷贝到C:\Users\**\.m2目录下即可
4.target生成后的目录结构
5.修改archetype-metadata.xml、pom.xml
5.1 archetype-metadata.xml配置文件告诉archetype插件,archetype-resources里面哪些文件需要包含到创建出的项目里
<?xml version="1.0" encoding="UTF-8"?> <archetype-descriptor xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 http://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd" name="yyj-archetype-webapp" xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <fileSets> <fileSet filtered="true" encoding="UTF-8"> <directory>src/main/java</directory> <includes> <include>**/*.**</include> </includes> </fileSet> <fileSet filtered="true" encoding="UTF-8"> <directory>src/main/resources</directory> <includes> <include>**/*.**</include> </includes> </fileSet> <fileSet filtered="true" encoding="UTF-8"> <directory>src/test/java</directory> <includes> <include>**/*.**</include> </includes> </fileSet> <fileSet filtered="true" encoding="UTF-8"> <directory>src/main/webapp</directory> <includes> <include>**/*.**</include> </includes> </fileSet> <fileSet filtered="true" encoding="UTF-8"> <directory>src/main/webapp/WEB-INF/lib</directory> <includes> <include>**/*.**</include> </includes> </fileSet> <fileSet encoding="UTF-8"> <directory></directory> <includes> <include>yyj-archetype-webapp.iml</include> </includes> </fileSet> </fileSets> </archetype-descriptor>
5.2 pom.xml文件自己生成的<artifactId>和<name>元素值,不满意,根据自己喜好更改,也可以不改;<packaging>maven-archetype</packaging>修改为<packaging>jar</packaging>
6.将骨架部署到本地maven仓库
generated-sourced/archetype目录下运行maven命令:mvn clean install
7.执行maven命令:mvn archetype:crawl(在指定的Maven库中查找可以的模板,并更新模板目录),会在maven仓库的根目录生成archetype-catalog.xml,里面有骨架的坐标信息
能找到刚刚创建的骨架坐标信息,如下:
8.使用骨架
生成的目录结构如下: