|NO.Z.00094|——————————|^^ 部署 ^^|——|Hadoop&kafka.V01|——|kafka.v01|源码阅读|环境搭建|
一、Kafka源码剖析之源码阅读环境搭建
### --- [kafka高级特性解析]
~~~ [源码剖析:源码阅读环境搭建]
~~~ [源码剖析:部署gradle]
~~~ [源码剖析:部署scala]
~~~ [源码剖析:IDEA导入源码]
~~~ [源码剖析:IDEA导入源码后设置]
### --- 官网地址下载资源包
~~~ # 首先下载源码:
~~~ http://archive.apache.org/dist/kafka/1.0.2/kafka-1.0.2-src.tgz
~~~ # gradle-4.8.1下载地址:
~~~ https://services.gradle.org/distributions/gradle-4.8.1-bin.zip
~~~ # Scala-2.12.12下载地址:
~~~ https://downloads.lightbend.com/scala/2.12.12/scala-2.12.12.msi
二、安装配置Gradle
### --- 安装配置Gradle
~~~ 解压gradle4.8.-bin.zip到一个目录
### --- 配置环境变量
~~~ 配置环境变量,其中GRADLE_HOME指向gradle解压到的根目录,
~~~ # GRADLE_USER_HOME指向gradle的本地仓库位置。
~~~ 变量名:GRADLE_USER_HOME
~~~ 变量值:D:\JAVA\gradle-4.8.1
~~~ # PATH环境变量
~~~ 新建:%GRADLE_USER_HOME%\bin
### --- 进入GRADLE_USER_HOME目录,添加init.gradle,
~~~ 配置gradle的源:init.gradle内容:
~~~ 进入GRADLE_USER_HOME目录:D:\JAVA\gradle-4.8.1:添加init.gradle
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://repo.maven.apache.org/maven2/') || url.startsWith('https://repo.maven.org/maven2') || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
//project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
}
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/'}
maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
//project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
}
}
}
### --- 验证gradle是否配置成功
~~~ ——>win+R——>cmd——>运行——>gradle -v——>部署完成——>END
C:\Users\Administrator>gradle -v
------------------------------------------------------------
Gradle 4.8.1
------------------------------------------------------------
Build time: 2018-06-21 07:53:06 UTC
Revision: 0abdea078047b12df42e7750ccba34d69b516a22
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_231 (Oracle Corporation 25.231-b11)
OS: Windows 10 10.0 amd64
三、Scala的安装和配置
### --- 安装Scala
~~~ ——>双击运行:scala-2.12.12.msi——>Next——>
~~~ ——>对勾:I accept the terms in the License Agreement——>Next——>
~~~ ——>选择:Scala安装目录:D:\JAVA\scala-2.12.2——>Next——>Install——>Finish——>END





### --- 配置环境变量
~~~ # 配置Scala环境变量
~~~ 变量名:SCALA_HOME
~~~ 变量值:D:\JAVA\scala-2.12.2
~~~ # 配置PATH变量值
~~~ 新建:%SCALA_HOME%\bin
### --- 验证Scala是否部署完成
~~~ ——>win+R——>cmd——>scala——>:quit
~~~ 输入:quit退出Scala的交互式环境。

四、Idea配置:scala插件导入
### --- idea安装Scala插件:
~~~ ——>Configure——>Plugins——>scala——>installed——>END

五、kafka源码导入前期准备工作
### --- 解压源码:kafka-1.0.2-src.tgz并执行gradle命令
~~~ 打开CMD,进入kafka-1.0.2-src目录,执行:gradle
~~~ 进入kafka源码目录:E:\NO.Z.10000——javaproject\NO.Z.00002.Hadoop\kafka-1.0.2-src
~~~ 会生成两个文件:gradlew和gradlew.bat
~~~ 结束后,执行gradle idea(注意不要使用生成的gradlew.bat执行操作)
E:\NO.Z.10000——javaproject\NO.Z.00002.Hadoop\kafka-1.0.2-src>gradle
> Configure project :
Building project 'core' with Scala version 2.11.12
BUILD SUCCESSFUL in 5s
1 actionable task: 1 up-to-date
### --- 执行gradle idea,生成IDEA能够认识的源文件
E:\NO.Z.10000——javaproject\NO.Z.00002.Hadoop\kafka-1.0.2-src>gradle idea
> Configure project :
Building project 'core' with Scala version 2.11.12
> Task :idea
Generated IDEA project at file:///E:/NO.Z.10000——javaproject/NO.Z.00002.Hadoop/kafka-1.0.2-src/kafka-1.0.2-src.ipr
BUILD SUCCESSFUL in 1m 57s
22 actionable tasks: 22 executed
六、IDEA导入kafka源码
### --- idea导入源码:
~~~ ——>IDEA——>Import Project——>选择需要导入的源码目录——>OK
~~~ ——>Import project from external model——>Gradle——>Finish——>END




### --- kafka源码导入成功后设置
~~~ ——>项目源码目录下——>build.gradle——>右键:Import Gradle Project——>END

七、其它配置
### --- IDEA下gradle配置
~~~ ——>File——>Settings——>Build,Execution,Deployment——>Build Tools
~~~ ——>Maven——>Gradle——>配置信息如下——>Gradle user home:D:\JAVA\gradle-4.8.1
~~~ ——>Gradle:Use Gradle from:Specified location:D:\JAVA\gradle-4.8.1
~~~ ——>APPLY——OK——>END

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv013-kafka
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」