elasticsearch源码编译问题

es的源码git仓库地址:https://github.com/elastic/elasticsearch

clone下来后,可以开始编译,需要注意的几个事情(6.2.4版本):

不管三七二十一,导入idea,开始干,看报错提示处理就好。

1. 导入到idea后,发现java文件就是普通的文件,也不能跳转,其实就是gradle工程没有初始化,classpath上也没有jar包,调出gradle窗口,刷新一下,让gradle自己下载包

会提示你,执行一下gradle idea

那就老实的执行一下,并不如人意啊

1. 提示build失败,没有设置JAVA_HOME。

buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy

//final String javaHome = System.getenv('JAVA_HOME')

final String javaHome = "/Users/ergou/applications/jre-9.jre/Contents/Home"   配置成自己下载的jdk目录就好

注意:最好不要改变系统的JAVA_HOME,毕竟平时工作用的应该都是java8,基本没人上java9,所以这里专门给gradle配置个java9的jdk路径就好。

2. 如果你设置的jdk版本不对,比如直接干了个jdk11,可能提示:

Gradle-Could not determine java version from '11'

这是因为gradle版本和jdk版本不兼容。

看一下gradle/wrapper/gradle-wrapper.properties中的gradle的包的版本,要么升gradle版本,要么降jdk版本。

我下的es源码中gradle的版本是4.5,我直接干了jdk11,出现上述问题,所以把jdk版本降到9,就好使了。

3. 如果用的时mac,下载jdk9的时候,发现没有tar包,又不想下dmg包,咋整

jre9是有tar包的,那就下jre的吧,直接下下来解压就好。

直接去运行gradle idea,会发现还是错误,提示jps命令找不到,让你确认你用的是jdk而不是jre。咋整

不用去下网上别人给你搞好的,下个linux的jdk,解压,将其中的jdk相关的命令copy到jre目录下。

内核差不多,没太大问题,况且只是用于编译源码学习而已,放心的这么干(工作jdk最好别这么玩,老实的下官方不同系统的jdk)

根据提示,一部一部解决,编译就没问题了没问题了

但是运行还是会有问题,缺少一些配置,这个网上一搜就到处都是,顺手贴一个https://blog.yiz96.com/elasticsearch-ide-conf/

 

 

 

你可能感兴趣的:(elasticsearch源码编译问题)