# demo-parent
**Repository Path**: rtfsc8/demo-parent
## Basic Information
- **Project Name**: demo-parent
- **Description**: Maven Mutil Modules
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2017-05-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#多模块项目的Maven配置
>[Maven聚合与继承](http://chenzhou123520.iteye.com/blog/1582166)
>[maven进阶:一个多模块项目](http://blog.csdn.net/eclipser1987/article/details/5739177)
>[利用intellijidea创建maven多模块项目](http://blog.csdn.net/u010361662/article/details/50837423)
#要点
```text
模块聚合
1. 在IDEA中创建一个空白的Maven项目demo-parent;
2. 删除demo-parent项目下的src文件夹;
3. 新建Module项目web-app,从archetype新建webapp项目;
4. 新建Module项目web-service,同demo-parent项目一样为空白Maven项目;
5. web-app作为网站前端项目,web-service作为后端服务提供项目,所以需要在web-app中将web-service添加为依赖;
6. 默认情况下app和service均继承了demo-parent项目,所有在parent项目做好公共依赖配置即可减小子模块的配置复杂性。
```
#父项目配置 - demo-parent
>demo-parent/pom.xml 配置
```xml
4.0.0
top.rtfsc8.modules
demo-parent
pom
1.0.0
src/main/resources/
true
src/main/java/
**/*.xml
maven-compiler-plugin
2.3.2
1.8
1.8
UTF-8
org.apache.maven.plugins
maven-source-plugin
2.4
true
compile
jar
dev
true
src/main/envs/dev/
src/main/resources/
1.0.0-SNAPSHOT
sit
src/main/envs/sit/
src/main/resources/
1.0.0-sit
uat
src/main/envs/uat/
src/main/resources/
1.0.0-uat
pro
src/main/envs/pro/
src/main/resources/
1.0.0
web-app
web-service
```
#子模块配置 - web-app
> web-app/pom.xml 配置
```xml
demo-parent
top.rtfsc8.modules
../pom.xml
1.0.0
4.0.0
web-app
${publish.version}
war
web-app Maven Webapp
http://maven.apache.org
web-app-${publish.version}
junit
junit
3.8.1
test
top.rtfsc8.modules
web-service
${publish.version}
```
#子模块配置 - web-service
> web-service/pom.xml 配置
```xml
demo-parent
top.rtfsc8.modules
../pom.xml
1.0.0
4.0.0
web-service
${publish.version}
jar
web-service-${publish.version}
```
#[How to](#)
```shell
# 1. Development
mvn clean install
mvn clean install -P dev
# 2. System Integration Testing
mvn clean install -P sit
# 3. User Acceptance Testing
mvn clean install -P uat
# 4. Product
mvn clean install -P pro
```