# multi-archetype
**Repository Path**: tzs1993/multi-archetype
## Basic Information
- **Project Name**: multi-archetype
- **Description**: maven自定义多模块骨架
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-06-13
- **Last Updated**: 2021-06-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### 自定义多模块archetype
##### 模板搭建
1、项目骨架
与单模块项目区别不大,但是有几个概念需要说明:
\_\_rootArtifactId\_\_ 占位符(前后各两个下划线)会被parent项目的artifactId替换,${rootArtifactId}也会被parent项目的artifactId替换
src/main/resources/archetype-resources里必须要有一个顶级pom文件(如果是单工程就是工程pom文件),同时子文件夹代表了模块定义
2、元数据archetype-metadata.xml
```xml
src/main/java
**/*.*
src/test/java
**/*.*
src/main/resources
**/*.*
src/test/resources
**/*.*
src/main/java
**/*.*
src/test/java
**/*.*
src/main/resources
**/*.*
src/test/resources
**/*.*
```
3、src/main/resources/archetype-resources/pom.xml内容
```xml
4.0.0
${groupId}
${artifactId}
${version}
${artifactId}
pom
${artifactId}-api
${artifactId}-core
```
4、子模块pom,以core为例
```xml
4.0.0
${groupId}
${rootArtifactId}
${version}
${rootArtifactId}-core
${rootArtifactId}-core
${groupId}
${rootArtifactId}-api
${version}
maven-deploy-plugin
true
```
```xml
```
##### 运行测试
把该模板jar包安装到本地仓库
mvn clean install
然后通过本地仓库中的该jar包来生成一个项目
-DarchetypeGroupId=com.archetype
-DarchetypeArtifactId=multi-archetype
-DarchetypeVersion=1.0-SNAPSHOT
这三个确定的是使用的骨架
-DgroupId=com.mycompany.app
-DartifactId=my-app
这两个就是自己写的名字。
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Dpackage="com.mycompany.app" -DarchetypeGroupId=com.archetype -DarchetypeArtifactId=multi-archetype -DarchetypeVersion=1.0-SNAPSHOT -X -DarchetypeCatalog=local