前两篇文章,我都是利用Maven直接导入Dubbo,这不能看源码,更不能调式和修改源码,为此,今天,我们从源码来构建Dubbo。
追梦程序员:第一个Dubbo应用zhuanlan.zhihu.com一 环境准备
一台linux用于配置单机版zookeeper。
一台window,用于Dubbo源码构建。
window上的基础环境有:JDK8+,Maven,IDEA。
linux上应该装3.5.x的zookeeper,因为官方的2.7.6的Dubbo中使用了4.0.1的curator,不同版本的curator连接的zookeeper版本不一致!!!
二 源码构建
从官网 https://github.com/apache/dubbo 下载zip包,解压,进入该目录。
可以看到下载的包中包含了Dubbo主体源码。下面我们利用maven进行install。
打开cmd窗口,进入该目录,执行 mvn install -Dmaven.test.skip 命令
如果一切顺利的话,大概很长时间后(我用了两个小时,这和你的网络有关),你会看到 BUILD SUCCESS。
但更可能的是,你不会这么顺利,如果遇到错误,多百度百度,这大部分是Maven的问题。
三 导入IDEA
在原目录下执行 mvn idea:idea 命令,等待 BUILD SUCCESS 的出现。这时候,你就可以利用IDEA打开这个文件了。
四 测试
看到 dubbo-demo 包了吗?这个包中提供了测试的几种不同的方法,我们使用 dubbo-demo-api包下的两个项目provider consumer。
其中的provider的Application类的main方法改为如下。consumer中的Application类要和provider一样改。
public
以此执行 provider consumer 中的Application,执行结果如下。
到此,我们的源码构建成功了!你可以查看Dubbo的源代码,并且可以修改,修改之后你可以执行看到变化。
不妨试试在 ServiceConfig 类的 export()方法前加一句输出,再次执行provider ,你可以看到这句输出,这说明我们可以修改源码了!!!
最后让我们看一下zookeeper中的内容,相信你一定不会陌生。
总结
这篇文章介绍了源码构建Dubbo的过程,这使得我们查看、调式、修改源码变得方便,快去试试吧。