• Elasticsearch 6.7.2 源码编译


    环境:

    git

    jdk12 https://jdk.java.net/java-se-ri/12 解压 配置环境变量

    gradle5.2.1 https://gradle.org/next-steps/?version=5.2.1&format=all 安装 配置环境变量

    idea 2019

    1.源码地址:https://github.com/elastic/elasticsearch

    2.git clone https://github.com/elastic/elasticsearch

    3.git tag -l

    4.git checkout v6.7.2

    5.源码gradle配置

    用户目录./gradle文件夹中新建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://repo.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
            }
        }
    }

    6.源码编译:

    gradle 安装包拷贝至源码根目录/gradle/wrapper下

     并修改gradle-wrapper.properties文件内容为:

    distributionUrl=gradle-5.2.1-all.zip

    gradlew idea 

    进入源码根目录doc环境中执行./gradlew idea编译源码  (联网操作)

    尝试过java11和java13均失败

    本地有装hadoop 编译失败

    7.源码打包:未完成

    8.idea源码调试

    idea -》file -》project from existing sources -》源码根目录 -》ok -》Import project from external model -》 Gradle -》auto-import  office work  gradle选到用户目录 

     ERROR: the system property [es.path.conf] must be set

    下载同版本release包解压

    源码根目录下创建home文件夹

    release包的config目录拷贝至上诉文件夹

     idea中做如下配置:

     

    VM options 配置中添加

    -Des.path.conf=D:codecode-zhxelasticsearchhomeconfig

       Exception in thread "main" java.lang.IllegalStateException: path.home is not configured

    VM options 配置中添加

    -Des.path.home=D:codecode-zhxelasticsearchhome

       ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

    VM options 配置中添加

    -Dlog4j2.disable.jmx=true

        org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: modules directory [D:codecode-zhxelasticsearchhomemodules] not found

    release版本的config目录中的modules文件夹放在源码根目录下建的home文件夹

       java.lang.NoClassDefFoundError: org/elasticsearch/plugins/ExtendedPluginsClassLoader 

     

    org.elasticsearch.bootstrap.StartupException: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader")

    源码根目录 /home/config下新建java.policy文件

    并配置如下内容:

    grant {
        permission java.lang.RuntimePermission "createClassLoader";
    };

    并在VM options 配置中添加

    -Djava.security.policy=D:codecode-zhxelasticsearchhomeconfigjava.policy

  • 相关阅读:
    大端模式与小端模式
    通过tcp socket实现Linux与windows之间的文件传输
    关于递归的几个小例子
    关于线性表的一些简单应用
    数据结构(c语言实现)--线性表
    简单实现getpwnam()
    chapter 7 内存分配函数
    chapter6 非局部跳转函数 setjmp()与longjmp()
    Xcode 出现Permission denied 解决方法
    关于ARfoundation ILRuntime热更新项目的坑
  • 原文地址:https://www.cnblogs.com/zhxdxf/p/12342244.html
Copyright © 2020-2023  润新知