你是否是第一次 听说这几个名词,又或者经常有人在你身边说Maven什么一方包、二方包、三方包?
我第一次还是在看阿里的开发手册才知道这些名词,那它们彼此之间有什么区别,让我们来好好聊聊。
条目 | 别名 | 说明 |
---|---|---|
一方库 | 一方包 | 本工程中的各模块的相互依赖,是本项目中的依赖。比如一个项目中,一个module依赖于同项目中其他一个或多个module |
二方库 | 二方包 | 公司内部的依赖库,一般指公司内部的其他项目发布的jar包。如公司内部其他团队或其他人提供你的dependency是二方包 |
三方库 | 三方包 | 公司之外其他组织的开源库, 来自第三方的依赖比如apache、google等发布的jar包。如我们经常用到的持久层框架mybatis等 |
这种解释感觉并不能够有真切的体会所以举一个例子:
一个公司里面现有两个团队分别开发项目,团队A开发项目A,团队B开发项目B,形成的jar包为:A.jar和B.jar。对于项目A来说,A.jar就是一方库,B.jar就是二方库。而对于项目B来说,B.jar就是一方库,A.jar就是二方库。这两个项目都引入了阿里巴巴的druid数据库连接池依赖,对于这两个项目这个依赖就是三方库。