最近开始学习kafka源码,在将kafka源码导入idea的过程中遇到各种问题,故做此记录。
- 下载源码
从github中或者官网我们可以快速下载kafka源码,官网是指定版本的代码,没有git版本切换功能,建议在github下载:https://github.com/apache/kafka。 -
下载gradle
下载好源码后,使用idea打开项目,并打开 ./gradle/wrapper/gradle-wrapper.properties文件,查看默认使用的gralde版本号,我下载的是3.0的源码,默认使用的是7.1.1版本的gradle,如下图:
截图中有下载地址,可直接使用此地址下载gradle。我使用过7.x的多个版本编译过kafka,总会遇到各种奇怪的问题,最后下载了指定的版本,解决了问题。
- 修改仓库地址
打开kafka目录下的build.gradle
文件,搜索mavenCentral()
,并增加以下仓库:
mavenLocal()
maven { url "https://maven.aliyun.com/nexus/content/groups/public" }
maven { url "https://repo1.maven.org/maven2/" }
修改后如下图(注意顺序;应该有两处需要修改):
如果公司有私有仓库也可以添加,添加后会增加依赖下载的速度,如果不修改,gradle默认会去maven中央仓库下载依赖,会比较慢。
-
配置idea的gradle
见下图
- 完成以上步骤后,等待编译即可