前言
本教程选择Elasticsearch6.5.2版本,JDK11版本,ES对JDK版本的要求还是很高的,请选择时要注意对应的JDK版本要求。
第一步
github下载源码,找到对应的版本,直接下载zip包
第二步
源码包下载下来以后,直接导入IDEA,如果jdk版本满足要求,就会直接开始编译。
报错一:
You must run gradle idea from the root of elasticsearch before importing into IntelliJ
解决方式:执行 gradlew idea 命令即可
第三步
再重新执行gradle task
执行完成,小飞象全部出来了
第四步
执行Elasticsearch类的main方法。
报错二:
ERROR: the system property [es.path.conf] must be set
报错三:
Execution failed for task ':server:Elasticsearch.main()'.
解决方式:添加启动参数
-Des.path.conf=D:\es_source\elasticsearch-6.5.2\distribution\src\config
-Des.path.home=D:\es_source\elasticsearch-6.5.2\distribution
重新执行
报错四:
ERROR: no log4j2.properties found; tried [D:\es_source\elasticsearch-6.5.2\distribution\src\config] and its subdirectories
解决方式:添加启动参数
-Dlog4j2.disable.jmx=true
重新执行
报错五:
Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]
解决方式:修改elasticsearch.yml配置文件
可以直接先注释掉
重新执行
报错六:
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.plugins.ExtendedPluginsClassLoader
解决方式:修改server中的build.gradle文件,找到compileOnly,修改为compile
启动、验证
终于不报错了
启动完成了,请求默认9200端口成功获得响应。