maven寻找依赖的流程

两个maven项目A和B,A依赖B(在A的pom文件中添加了B的依赖),这时A先在工程索引中寻找B,找不到再到磁盘目录/Users/{username}/.m2(这是mac系统中.m2目录(是隐藏文件)的路径,.m2目录是maven的本地仓库)或其子目录中寻找B的目录(完整的B目录应该是存在pom文件的,如果不存在pom文件是不完整的应将其删掉,重新下载),如果找不到B目录或B目录是不完整(缺少pom文件),再去A项目中查看pom的<repositories>节点下看远程repository的url是否正确(点该链接,看页面中是否有需要的dependency),如果正确就从远程repository重新下载dependency(重新下载的方法有很多,如果用的MyElipse,可以再project菜单中点击clean,这时项目会重新编译会检查dependency,这个检查也会遵循前面说的顺序,先检查工程中是否有B,如果有了就不会去.m2目录下找了,即这时即使.m2目录下没有B,也不会从网上下载,这时如果要从网上下B,可在工程项目中将B关掉(右键点击项目B,在弹出的菜单中点击close project),这时他就在工程中找不到B,便会去.m2目录下找,这时如果.m2中没有B,便会去A的pom文件中的repository节点下的url节点中写的链接去下载dependency B)。

如果B中也有其他的dependencies,其寻找过程是一样的。

另外如果A有从属B,B有从属C,C又有其他的从属,如果C的从属出现了问题(例如本地仓库从属文件缺pom文件),也会导致A的pom文件有错误。所以如果A的pom文件中依赖出错了,在检查了A本身的依赖没问题后,可递归检查其依赖的依赖是否有问题。


注:上文说的依赖和有从属是一个意思,A依赖B和A有从属B一个意思。


以上只是我的理解,如有不对或有不同理解欢迎指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值