一. 前言

看完RocketMQ的源代码后,其namesrv和broker通信机制使用的就是Netty,故对Netty产生了兴趣。根据自己一般学习的规律,都是先把源代码下载,编译出来,然后断点已经打日志调试。
所以这篇文章介绍mac下面怎么下载编译Netty源代码。

目前编译的版本是 netty-all-4.1.25

二. 下载源代码

github源代码地址

https://github.com/netty/netty

打开命令行,通过里面的地址clone即可:git clone [email protected]:netty/netty.git

54. Netty源代码编译_第1张图片

三. 命令行编译
mvn install -DskipTests

-DskipTests代表跳过测试用例步骤,因为跑测试用例时间有点长,当然你也可以直接mvn install。

执行完毕后,结果如下:

54. Netty源代码编译_第2张图片

四. 导入intellIJ

  1. 打开ij,然后file->open,找到刚才下载的Netty目录即可(第一次导入有点慢)

  2. View-> Tool Windows->Maven Projects 打开右侧Maven Projects窗口

  3. 编译,比如编译common
    Netty/Common->Lifecycle->install

    install 执行完毕结果

54. Netty源代码编译_第3张图片

  1. 编译结果

总的编译结果在all/target/目录下

54. Netty源代码编译_第4张图片

单个项目的结果在其自己目录的taget/目录下
54. Netty源代码编译_第5张图片