一. 基础搭载环境
win10
jdk 11 \ jdk8
idea 2022
gradle 8.1.1 【建议4.5.1以上】
elasticsearch 7.8.0 源码及安装包
二. 安装gradle
1. 官网下载链接:https://gradle.org/releases/
2. 解压设置环境变量
(1) GRADLE_HOME 环境变量指向你的 Gradle 解压路径
(2) 将 %GRADLE_HOME%\bin 添加到 Path 环境变量中
(3) 验证gradle是否安装成功,打开cmd命令行输入 gradle -v
(4) 配置镜像:
a. 仓库,环境变量设置 GRADLE_HOME_HOME ,
这个目录为新构建,以 D:\gradle.gradle 为例
b. 在这个目录【 D:\gradle.gradle】中,新建init.d目录,并新建 init.gradle 文件,内容如下
allprojects{repositories {def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public/'def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if (url.startsWith('https://repo1.maven.org/maven2/')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."remove repo}if (url.startsWith('https://jcenter.bintray.com/')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."remove repo}if (url.startsWith('https://plugins.gradle.org/m2/')) {project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."remove repo}}}maven { url ALIYUN_REPOSITORY_URL }maven { url ALIYUN_GRADLE_PLUGIN_URL }}
}
idea中配置,参考IDEA如何配置 Gradle(详细版)_idea gradle配置_一条水里的鱼的博客-CSDN博客
(1) File->Settings->Build Tools->Gradle 指定 gradle仓库目录
这里仓库可以使用maven仓库
三. es编译
前置:下载es7.8源码及安装包
1. 打开 gradle自动下载包,其最终运行是 server目录src
org.elasticsearch.bootstrap.Elasticsearch
2. 设置es相关环境配置,特别注意添加环境变量为添加 VM 选择中选择
-Des.path.conf=E:\es\elasticsearch-7.8.0\config
-Des.path.home=E:\es\elasticsearch-7.8.0
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true
-Djava.security.policy=E:\es\elasticsearch.policy
其中,E:\es\elasticsearch-7.8.0 为下载的es安装包,解压之后根目录
elasticsearch.policy 文件内容如下
grant{permission javax.management.MBeanTruxtPermission "register";permission javax.management.MBeanServerPermission "createMBeanServer";permission java.lang.RuntimePermission "createClassLoader";
};
3. 运行报错
Exception in thread "main" java.lang.NullPointerException at org.elasticsearch.node.InternalSettingsPreparer.checkSettingsForTerminalDeprecation(InternalSettingsPreparer.java:119)
需要配置 es下载包中config目录下面 elasticsearch.yml
node.name: node-1
4. idea配置相关,找不到类之类的
(1)idea > preferences > Build, Execution, Deployment > Build Tools > Gradle
把Build and run using gradle
改成 Build and run using IntelliJ IDEA
。
(2)Edit Configuration
,找到Include dependencies with Provided scope
,【在 modify options】
5. 运行成功之后,打开localhost:9200
参考:
ES本地debug详解_ES_泽睿_InfoQ写作社区
ES核心源码(一):源码运行环境搭建 - 知乎