Intellij Idea编译Elasticsearch源码

如果想阅读Elasticsearch源码,定制功能,不可避免的要编译Elasticsearch。本文图文并茂,介绍如何使用Intellij Idea编译Elasticsearch源码包。

一、软件环境

Intellij Idea:2017.1版本

Elasticsearch源码版本:2.3.3

JDK:jdk1.7.0_80.jdk
OS:OS X Yosemite 10.10.3

二、下载Elasticsearch源码

Elasticsearch的发行版本,也就是用户使用的版本要到Elastic官网下载,源码包要到github上下载,下载地址:https://github.com/elastic/elasticsearch/releases,如下图所示下载Elasticsearch 2.3.3版本,选择tar.gz格式。
这里写图片描述

解压缩到本地,我这里的路径为/Users/bee/Documents/es/elasticsearch-2.3.3,解压后elasticsearch-2.3.3目录下的core文件夹就是源码包的位置,如下图所示。
这里写图片描述

三、加入config目录

把运行版本的elasticsearch-2.3.3目录下的config文件(elasticsearch.yml所在位置)夹拷贝到/Users/bee/Documents/es/elasticsearch-2.3.3/core目录下,config目录下的文件如下。

elasticsearch-2.3.3
   --config
      --elasticsearch.yml
      --logging.yml     
      --scripts

四、Intellij Idea导入源码

打开Intellij Idea,选择Import Project,下一步。

这里写图片描述

选择elasticsearch-2.3.3/core所在路径,下一步。

这里写图片描述

选择默认的pom,下一步。

这里写图片描述

选择默认的配置,下一步。

这里写图片描述

选择JDK版本,如果有多个JDK,可以在这里进行选择。

这里写图片描述

设置工程名称,下一步。

这里写图片描述

工程导入完成以后,在src/main/java目录下找到org.elasticsearch.bootstrap包下的elasticsearch.java,这时候单独运行会报错,运行之前配置elasticsearch.java的参数,点击Edit Eonfiguration(菜单路径Run->Edit Eonfiguration)。

这里写图片描述

配置参数:
VM Options中增加-Des.path.home路径为ES源码包位置。

-Des.path.home=/Users/bee/Documents/es/elasticsearch-2.3.3/core

Program arguments中增加

start

这里写图片描述

点击OK,运行elasticsearch.java。

这里写图片描述

如果一切顺利,可以在console中看到以下输出。

这里写图片描述

访问http://localhost:9200/

这里写图片描述

至此,Intellij Idea编译Elasticsearch源码成功!

五、关于JDK版本

第一次编译的时候使用的是jdk1.8.0_112.jdk,出现以下错误,改成最新的jdk1.8.0_121.jdk仍然不行,后来发现是mac版JDK的一个bug,换成jdk1.7.0_80.jdk一切OK。

objc[413]: Class JavaLaunchHelper is implemented in both
/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java and 
/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/libinstrument.dylib. 
One of the two will be used. Which one is undefined.

这里写图片描述

参考资料

http://stackoverflow.com/questions/23590613/java-8-class-javalaunchhelper-is-implemented-in-both

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

esc_ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值