ES5.6.4源码编译

源码编译步骤:
1.下载JDK(1.8)和gradle(3.5),并配置环境变量

2.因为5.6.4版本使用的是gradle,所以要将gradle的配置文件(在C:\Users\***\.gradle目录下放入init.gradle文件)的仓库路径

    def REPOSITORY_URL = 'http://your_URL'

3.在IDEA中打开整个ES项目,编译源码: (注意IDEA不能用14.*,通2017,不然会报gradle的问题 -- 艹,浪费了我一天时间)


此处,我遇到了一个shadow.pom文件的报错. 此时修改报错目录下的build.gradle文件: 将url那个地方配置成ali仓库

buildscript {
  repositories {
    maven {
      url 'http://maven.aliyun.com/nexus/content/groups/public/'
    }
  }
  dependencies {
    classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
  }
}
)

4.尝试在本地启动ES

运行ElasticSearch.java 中的main()方法


ERROR1: 找不到path.home

在 Run -> Edir Configuration中配置参数,如图: Edit-Configuration-1/2所示

ERROR2. 报错找不到配置:no log4j2.properties found; tried [D:\Code\ElasticSearch\5.6.4\elasticsearch-5.6.4\core\src\main\resources\config] and its subdirectories
    
去官网上下载对应版本的安装包,将安装包config目录下的东西D:\Code\ElasticSearch\elasticsearch-5.6.4\config直接拷贝到源代码的config目录D:\Code\ElasticSearch\5.6.4\elasticsearch-5.6.4\core\src\main\resources\config中

ERROR3. 报错,org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unsupported transport.type []
将安装包中modules目录(D:\Code\ElasticSearch\elasticsearch-5.6.4\modules目录内容拷过来)下内容拷贝过来。

ERROR4. 报错,String index out of range: -1
版本号不一致的问题,修改 core 下面的 org.elasticsearch.Build.java 72行
// isSnapshot = true; 
isSnapshot = false;

最后,启动成功! Success!!!



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值