Elasticsearch源码导入IDEA

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yan3013216087/article/details/91192336

前言:gradle不同版本之间存在不兼容的情况,使用其他版本可能会报错。
编译项目时,网络问题可能会导致依赖下载失败,建议用自己的网,不要用公司有限制的网。

1.环境与准备工作

  • windows 10
  • IDEA 2018.2.5
  • JDK 1.8.0_162
  • Gradle 3.5

2.安装Gradle 3.5

参考:https://gradle.org/install/
gradle是免安装的,下载安装包并解压到本地安装目录,并配置环境变量即安装完成。
在系统变量 Path 下添加 \安装目录\gradle-3.5\bin,例如:
配置环境变量
在这里插入图片描述
验证安装结果:
在这里插入图片描述
配置远程阿里云仓库
在gradle目录下的init.d目录中创建名为init.gradle文件,内容如下:

allprojects{
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

3.下载源代码

下载链接:https://github.com/elastic/elasticsearch/tree/v5.3.2
在这里插入图片描述

4.编译项目,打包

进入解压后的源码目录,执行编译命令:

gradle assemble
  • 1

编译过程中会下载依赖文件,编译完成后系统打印“BUILD SUCCESSFUL”代表编译成功。完整的打包文件位于
./distribution目录,包含tar、zip等多种格式的包,例如:
在这里插入图片描述

5.将工程导入IDEA

1)进入elasticsearch源码目录,执行 gradle idea, 生成IDEA的项目文件,正常完成显示“BUILD SUCCSEEFUL”.

2)创建用于ES读取配置的目录
创建一个目录,此处命名为eshome,用于ES从中加载模块、读取配置、写入数据和日志,可以将gradle编译打包的软件包解压,然后将config、modules、plugins目录拷贝到eshome文件夹中,软件包位于distribution/zip/build/distributions下:

(1)在ES源码解压后的目录下,进入gradle打包后的软件包所在目录:distribution/zip/build/distributions
在这里插入图片描述
(2)解压zip文件,并进入解压后的目录,将config、modules、plugins目录拷贝到eshome目录:

在这里插入图片描述
3)选择import project,将源码加压后的文件目录导入,选择gradle
在这里插入图片描述
配置JVM和gradle home
在这里插入图片描述
在这里插入图片描述
导入后:
在这里插入图片描述
4)IDEA菜单中选择Run->Edit Configurations,点击“+”添加Application,配置下列信息:
在这里插入图片描述
其中vm options配置如下:

-Des.path.home=/Users/shanmenglu/Documents/eshome
-Des.path.conf=/Users/shanmenglu/Documents/eshome/config
-Xms1g
-Xmx1g
-Dlog4j2.disable.jmx=true
-Djava.security.policy=/Users/shanmenglu/Documents/eshome/config/elasticsearch.policy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Main Class配置启动类,该类在core目录下src/java/org/elasticsearch/bootstrap/Elasticsearch.java

5.运行main方法

点击Run运行项目,控制台输出下列日志:
在这里插入图片描述
在浏览器地址栏输入http://localhost:9200,显示如下内容,说明ElasticSearch本地成功运行
在这里插入图片描述
参考:
《ElasticSearch源码解析与优化实战》
https://blog.csdn.net/lom9357bye/article/details/86662367
https://blog.csdn.net/weixin_33912445/article/details/87292225
https://www.w3cschool.cn/gradle/9b5m1htc.html
https://blog.csdn.net/wqc19920906/article/details/82353541

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e9f16cbbc2.css" rel="stylesheet">
                </div>
posted @ 2019-10-29 17:10  学仰泳的鱼  阅读(2742)  评论(0编辑  收藏  举报