MacOS 构建ElasticSearch源码全过程 - Go语言中文社区

MacOS 构建ElasticSearch源码全过程


最近在研读《Elasticsearch源码解析与优化实战》,研究下elasticsearch(以下简称ES)各模块的源码,书中的版本是6.1.2

虽然在github可以直接clone源码,但为了获取最完整的体验,决定跟着书中的方法从构建开始

1. 访问https://github.com/elastic/elasticsearch/releases,选择相应的版本下载,我选择的是tar.gz格式

2. 下载完成后,解压缩,然后进入相应的目录, cd elasticsearch-6.1.2(ES全部版本号其实由4位数字组成,主版本.次版本.修正版本.构建版本)

3. 按照书中写到的,执行 ./gradlew assemble -Dbuild.snapshot=false  (ES最早是由Maven构建的,后来改成了Gradle)

4. 这一步准备跳坑,构建时报错如下:

分析原因可能是java版本过低,(有一篇文章说实际上在当前写作时间Java8运行ES足够了,但是构建当前写作时间的最新版本ES需要至少Java10版本)

5. 转到Oracle官网下载Java12,https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html(这一步使用brew cask install java也可以),选择的是dam格式,下载完毕后,双击安装

6. 继续跳坑,构建是报错如下:

分析原因可能是是Java12与本机安装的Gradle版本不兼容,需要升级Gradle至5.3.1

7. 转到Gradle官网https://gradle.org/releases/ 下载Gradle,zip格式

8. 配置Gradle的环境变量,这一步需要注意Gradle的版本变化可能带来的相应影响

9. 接着跳坑。。尽管经历了以上N个步骤仍然build失败。。。(报2个异常)

10. 卸载Gradle5.3.1和Java12,并在.bash_profile中配置Java环境变量 <== 重点!!!;再次执行./gradlew assemble -Dbuild.snapshot=false 命令。终于Build成功!(High Five击掌~)

11. 在相同目录,执行gradle idea,为在IDEA中导入项目做准备;如下:成功

12. 在IDEA Welcome界面 设置Project Structure

13. 设置完成后,回到Welcome界面,选择Import Project,选择ES对应的目录,点击Open;在下一个界面选择Gradle

14. 在下一个界面确认工程名称Gradle和Java的版本

15. 点击Finsh,完成导入,进入IDEA

16. Gradle守护进程开始自动同步,如下:

看到了此ES版本使用的是Lucene7.1.0 (当前写作时间最新版是8.0.0)。第一次看Lucene源码还是6.0.0的时候,怀念。。

17. 历时6分半左右,同步完成~  准备开启源码旅程!

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhangsiNANA/article/details/88920117
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-26 22:08:15
  • 阅读 ( 1867 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢