面向组织的maven项目结构
├─biz-app
│ └─biz-demo1-app
├─common-service
│ └─order-soa
│ ├─order-api
│ └─order-service
└─components
├─bom
│ ├─common-bom
│ └─pack-bom
├─common
│ ├─common-demo1
│ ├─common-demo2
│ └─common-parent
├─pack
│ └─json-pack
├─parent
└─top-parent
- maven的dependencyManagement和dependencies特性。dependencyManagement预定义包,dependencies只需指定group和artifactId,版本号继承而来。好处是统一管理版本号,避免混乱,对升级友好。
- 发挥maven的继承特性,将很多统一配置放在顶级父pom,简化子项目的配置。比如构建,源码上传路径等。
- 使用bom对一系列jar包进行封装,简化使用。
- 从工程角度考虑项目结构,提高组织的开发效率。
- top-parent 顶级父pom。定义源码deploy url,构建配置,定义公包依赖,业务项目不要直接继承
- parent 业务项目的直接父pom。直接import各种聚合的bom,间接定义了公包和私包的依赖
- bom/common-bom common项目的bom定义。依赖项可以是不存在的,尚未构建的。
- bom/pack-bom 公包依赖项的组合包。方便业务项目引入。
- pack/json-pack json组合包。目前只有jackson。可用于json序列化反序列化,springmvc的json输入输出。
- common/common-parent common项目的直接父pom。单独一个父pom,是为了不造成循环依赖,也为了自由发展
- common/common-demo1 common演示项目1。依赖一个公包。
- common/common-demo2 common演示项目2。依赖common-demo1、json-pack
- components/top-parent/pom.xml
- components/pom.xml
- components/common/pom.xml
- 修改top-parent的maven仓库路径
- 修改包名
- 规划自己的公包和私包,并修改