「准备工作」Dubbo源码阅读环境搭建

前言

你给面试官说:“我阅读过 Dubbo 的源码,觉得那块设计的比较好”。结果,你自己连Dubbo 源码阅读环境都没搭建过的话,尴尬不?

Dubbo官方也有对应的源码环境搭建教程(@源码构建),不过我的更详细完善一点。并且,更清晰易懂。一些你们可能我踩的坑,我都提前指了出来,避免没有必要的时间浪费。

环境准备

●IDEA:建议使用 IDEA 作为 IDE。
●Maven 3.6.5 :Dubbo 使用 maven 作为构建工具。
●JDK 1.8 :JDK 1.8 版本即可。

Dubbo 源码阅读环境搭建

克隆项目到本地

我们先克隆项目到本地(建议 fork 一份项目到自己的仓库中再克隆,版本建议 dubbo-2.6.4)。

使用 IDEA 打开项目

项目克隆完成之后,推荐使用 IDEA 打开。打开之后,可能需要一会时间下载项目所依赖的 jar包,我们喝杯咖啡,耐心等待即可。

下载jar包的过程中,很可能会遇到某些 jar 包出现问题的情况,导致项目多处报红,显示相关依赖导入错误。解决的办法就是:你去自己本地的 Maven仓库找到对应的 jar 包,将其删除,然后重新导入项目下载即可。

构建项目

如果我们的项目相关的 jar 包下载完成,我们就可以开始构建项目了。你可以使用下面两种方式的任意一种:

(1)使用下面的命令构建项目了:

(2)不同过命令的方式:

首先点击跳过测试,然后点击clean 和 install。

image.png

验证源码环境是否搭建成功

这些事情做完之后,我们需要验证一下 Dubbo 源码阅读环境是否真的搭建成功了。怎么来验证呢?

非常简单,不需要自己手动写 Demo 了。项目源码已经自带了一些使用 Dubbo 的Demo,我们直接运行即可。

我们找到 dubbo-demo 这个文件夹,里面包含了 3 种不同类型(xml、api、annotation)使用方式的 demo,可以帮助我们节省掉大量写 Demo 的时间。

image.png

这些 Demo 都是使用 zookeepeer 作为注册中心的,所以我们还需要提前下载 zookeeper 到本地。

我这里建议下载 3.4.12 版本的 zookeeper ,避免出现其他问题。我们直接使用 Docker 进行下载就行了,方便简单。

然后,使用下面的命令运行。

我们随便找到一个 Demo ,我这里以 api 使用的方式来说明一下。

我们找到 dubbo-demo-api 这个文件夹,然后先启动服务提供者,再启动服务生产者:

启动服务提供者 :直接运行 dubbo-demo-api-provider (服务提供者)下的 Application 即可。服务提供者启动成功之后,控制台会打印出服务被注册的一些信息。
启动服务消费者 :直接运行 dubbo-demo-api-consumer (服务提供者)下的 Application 即可。服务消费者启动成功之后,控制台会打印出调用服务提供者的sayHello()方法返回的结果。

启动过程中可能会出现的问题:java.nio.channels.UnresolvedAddressException 。

出现这种问题的原因大概是你的 JDK 版本是 JDK14,你只需要将 JDK 版本调整到对应的 JDK 8 即可。
image.png
2

相关推荐

  1. Dubbo3+naocs2环境

    2024-01-06 04:32:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 04:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 04:32:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 04:32:01       82 阅读
  4. Python语言-面向对象

    2024-01-06 04:32:01       91 阅读

热门阅读

  1. ROS执行命令发现找不到python2.7解决办法

    2024-01-06 04:32:01       60 阅读
  2. Qt设置的字体加粗、下划线、斜体、字号,字体

    2024-01-06 04:32:01       56 阅读
  3. <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(上)

    2024-01-06 04:32:01       50 阅读
  4. 我的Spring Cloud学习之旅:原因、过程和收获

    2024-01-06 04:32:01       62 阅读
  5. Ubuntu安装和配置ssh教程

    2024-01-06 04:32:01       59 阅读