在macos上使用idea编译elasticsearch7.9源码
idea通过git导入源码
直接通过idea导入git项目,不需要去github下载到本地再自行使用gradle编译,idea可以帮助你快速构建
通过idea可以直接git上的导入源码
输入git的http地址即可导入
如果idea一直卡在下载gradle-xx-all.zip,可以自行手动下载后放入本地gradle环境,如下图所示:当下载的zip被idea解压成功就会显示解压后的文件夹和.ok文件
下载zip并放入此目录
导入成功后需要将gradle使用的jdk设置为高版本,同时也检查下idea java compiler和project modules里面和SDKS里面的jdk版本是否符合es要求
修改gradle jdk版本
project jdk版本
如gradle下载包很慢,可以配置项目跟目录下的build.gradle文件配置阿里云镜像,也可以配置本地的gradle环境init.d下添加初始化脚本使gradle全局使用阿里云镜像。
等待gradle下载全部依赖包后,工程即进入可运行状态。
配置并运行es
源码编译好后需要配置一些参数才可以正常运行,具体如下:
运行前需要配置和发布版类似的环境,具体目录为:distribution/src,可以把它理解为发布版es的home目录
-
Edit Config配置如下:
VM options
- distribution目录需要进行以下操作:
- 添加data,logs目录与上面的Edit Config对应
- 配置config目录中的yml,jvm文件
- 添加policy文件与上面的Edit Config对应,内如如下:
grant {
permission java.lang.RuntimePermission "createClassLoader";
};
- 将发布版es的modules拷贝至此目录,并新建空的plugins目录
等待gradle将依赖包全部下载成功后,切换到es的启动目录即可运行,es启动类如下:
server/src/main/java/org/elasticsearch/bootstrap/Elasticsearch.java
网友评论