欢迎投稿

今日深度:

Elasticsearch源码加载到eclipse调试,

Elasticsearch源码加载到eclipse调试,


一、为什么要调试

Elasticsearch是一个搜索的服务框架,大部分的情况下可以利用resetful的特性,进行直接url操作通信,但是可能有时候需要修改其中的某个模块,或者希望是一个你所希望的框架,来完成个性化的定制,或者,更想清除整个的流程,这个时候就需要对源码进行加载调试了,搜了网上的很多资料,发现相关的很少,所以在此将如何调试加载到eclipse中进行简单的介绍


二、所有的步骤

(1)下载elasticsearch源码,本人所使用的是elasticsearch2.1.0,下载地址为https://github.com/elastic/elasticsearch/releases


(2)解压到下载的文件夹,使用eclipse导入file->import->maven->existing maven project,将elasticsearch下面的core目录导入,如下所示:



(3)可能会出现导入错误,如下所示,这个时候可以直接finish直接结束忽略掉



(4)这个时候会出现pom.xml错误,例如Plugin execution not covered by lifecycle configuration: 这种,如下图所示,解决办法如下图2所示,直接点ignore,直接点ok,之后会出现overriding以及id冲突之类的,直接remove,顺序如下图所示



图1-pom.xml错误



                                                                                                                                

                                                                                                                                          图2-直接ignore



                                                                                                           

                                                                                                                  图3-ignore之后点ok



图4-overriding,冲突错误,直接remove

(5)直接点工程,右键 maven->update project,将force勾上,这个步骤是maven中央库进行更新jar包,可能有时候会缺少一些jar包,到时候可以多做几次update操作,用来多次下载提高成功率,可能尝试很多次之后还有些jar包没下下来,1,可以选择将jar包上一层目录删除,重新更新;2,或者将jar包删除,直接从网上下载jar包,这一步很关键,我这边是试过多次之后下载好了,无法重现第一次的情形,望各位见谅;更新之后就无错误了,如下第二张图所示




更新之后工程的样子,已经没有红色的感叹号之类的了,无错误

(6)main/java找到org.elasticsearch.bootstrap的elasticsearch.java   到main函数 run as java application之后,出现如下图所示:出现错误
Exception in thread "main" java.lang.IllegalStateException: path.home is not configured


(7)在main函数右键,run as run configuration,在arguments按照如下填写,path.home=<你的core文件的路径>,点run


(8)之后会出现log路径未找到,config错误等,我这边刚开始出现的是config的logging未找到类似的错误,如下所示:


(9)从elastic的官网  https://www.elastic.co/downloads/past-releases,(下载2.1.0 现在最新是2.1.1但是为了防止配置文件有变动,还是一直保持同一个版本比较好点)已经封装好的elasticsearch,解压,将里面的config文件拷贝到你所调试的工程的core下面,即可,再次run as java application就可以了



这个时候去网页,将ip输入,端口输入即可看到熟悉的返回值


三、总结以及后续


只是开启了学习es的第一步,后续希望可以改造特定的部分,完成定制,在此记录一下,别下次再忘记了

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/35526.html NewsArticle Elasticsearch源码加载到eclipse调试, 一、为什么要调试 Elasticsearch是一个搜索的服务框架,大部分的情况下可以利用resetful的特性,进行直接url操作通信,但是可能有时候需要修改其中的某...
相关文章
    暂无相关文章
评论暂时关闭