前年第一次真正在项目上用到maven,只是做一个采购系统,用Maven构建系统,管理jar包等相关任务,直到去年,做的一个产品,认识到maven可以分发很多子项目的用处。
简单说说,一个分布式系统,会有很多项目。每个项目,都会由4个子项目组成
api/web-service/web-server/asycn-service
比如人资管理human-resource
/human-resource
/human-resource/human-resource-api
/human-resource/human-resource-web-service
/human-resource/human-resour-web-server
/human-resource/human-resour-asycn-service
所以总结为
一个分布式系统,由N个一级项目组成,每个项目至少又4个二级项目组成
但其实每个一级项目的二级项目它们所对应的jar包依赖应该是一致的。
1.创建pom项目‘project’,project里面应该依赖所有项目需要依赖的jar包,
2.创建pom 'api-parent', 这个项目是所有 api项目的parent,'project'是'api-parent'的parent项目,在api-parent里面依赖一些这一层项目需要的jar包,ps:在pom文件里,有parent项目,子项目必须depence一次,才会真正依赖该jar包。
3.创建pom,'web-service-parent',
4.创建pom,'web-server-parent'
以上两个parent项目跟api-parent一样。
5.创建pom,'human-resource'项目,在这个项目里面,parent是project.然后 增加4个Modules,分别是api,web-service,web-server,asynce-service。
6,创建human-api项目,parent是api-parent, human-api所需要依赖的jar就会通过api-parent依赖的包一致了。其他3个项目一样的做法。
总结:
比如 产品有A,B,C...项目
A-api,B-api,C-api项目的jar版本都是一致的了。