ES准备:成功在本IDEA中启动ES

千里之行始于足下

   在上一篇源码BUILD中,使用gradle  idea命令生成idea项目,成功导入idea中,本以为一帆风顺的事情。可是,还是出现了问题。

   在执行org.elasticsearch.bootstrap.Elasticsearch的main方法时,发生如下错误:

    1:ERROR: the system property [es.path.conf] must be set

 这个是要检查ES的配置,ES的主要配置有三:

    1:elasticsearch.yml  2:jvm.options  3:log4j2.properties

  这个三个文件望文生意,就不做解释。但是源码的目录浩瀚如海,这个跟编译器有关系。在es-6.1.3中,使用的是gradle,本人对于gradle

 也是一知道半解,工作中也不用,最终目录在:${projectPath}\distribution\src\main\resources\config

   解决方案:  在jvm options中设置: 

 -Des.path.conf=${projectPath}/distribution/src/main/resources/config  

解决完这个问题以为可以一番风顺,谁知,坑坑洼洼这么多,又出现如下错误:

2:Exception in thread “main” java.lang.IllegalStateException: path.home is not configured

 针对这个问题我需要吐槽一下,我将jvm options中设置了-Des.path.home=我build后源码的路径。 但是,在启动的时候一直check

plugins,plugins下的每个目录都检查是否有plugin-descriptor.properties文件,我就一顿倒腾。等我把所有的目录的plugin-descriptor.properties

文件都补全之后,它又开始检查builder.gradle目录下的plugin-descriptor.properties文件。郁闷一通。build.gradle是一个文件而非文件夹。

后来只得下载安装包,配置一个安装包路径,ok,问题得到解决。

  解决方案:-Des.path.home=elasticsearch安装文件路径

至此所有问题都全部解决,源码成功启动。 

   

 这是我第一次阅读源码的经验。从开始的下定决心,到一步一步的解决问题直到成功启动。也算是开了个头吧。本来elasticsearch的源码

导入本地的工作并没有那么复杂,可这个工作也整整持续了我两周时间才解决。总结一下就是自己的能力欠缺加上一点惰性,着实费了不少时间。

今天本来休息,可是想想再有一天就要回家过年了,这个下去这个问题拖到年后了,就逼着自己过来解决完了。其实也没那么难。也算是自己对抗

惰性的第一步路吧。                                                                                     

你可能感兴趣的:(ES准备:成功在本IDEA中启动ES)