windows编译运行es源码1

一. 基础搭载环境

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仓库

windows编译运行es源码1_第1张图片

三.  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】

windows编译运行es源码1_第2张图片

5. 运行成功之后,打开localhost:9200

参考:

ES本地debug详解_ES_泽睿_InfoQ写作社区

ES核心源码(一):源码运行环境搭建 - 知乎

你可能感兴趣的:(gradle,elasticsearch)