使用dubbo时,为何需要Maven install

最初引发这个问题的是我不理解为何使用dubbo来构建项目时,提供者需要Maven install来达到更新代码的目的,而同一项目不同的modul之间互相依赖只需在pom文件中增加相应对的依赖便可。

1. 在pom文件中添加了相对应的依赖后,在仓库中一定能找到相对应的jar包吗?

  • 我之前的答案是肯定的,我认为只要是在pom文件中添加了相对应的依赖,在我们的本地仓库中总能找到对应的jar包,本地仓库中没有的,也会从镜像服务器中下载,而若需要引用其他项目,也需要将被引用项目打包成jar包放入本地仓库中才可引用。
  • 后来发现我并没有将被引用打包成jar包放入本地仓库,其他项目也可以依赖。
  • 如果跟我有同样疑问的朋友们,可以看一下这个图。
    在这里插入图片描述
    下面的e3-common是文件夹的的图标,那么说明这是引用本地项目,并不是从本地仓库引用的jar包,如果你已经把e3-common,maven install导入到本地仓库了,那么你可以试着把e3-common close project 试试(在该项目上右键单击有一个close project的选项),你会发现在图片上的e3-common已经不见了,这时你可以上滑找找,你会发现你看到了e3-common的jar包。
    在这里插入图片描述 在这里插入图片描述

2、为何使用dubbo时,提供者需要maven install一下,消费者才能接收到提供者更新后的代码?

  • 首要要明白dubbo的的基本概念以及zookeeper的基本概念。
  • 提供者将自己提供的服务注册到zookeeper中,而消费者会到zookeeper上找寻自己想要的服务。
  • 具体他们之间怎么实现相互传递,我没有研究过源码,所以不是很明白,我理解的就是提供者和消费者都会在zookeeper注册自己的本机ip,而消费者通过ip在其仓库中找寻自己需要的服务。

小菜鸟一只,说的不对的地方还请路过的各位大佬可以指点一二。

发布了1 篇原创文章 · 获赞 2 · 访问量 121

猜你喜欢

转载自blog.csdn.net/qq_43258449/article/details/104015089