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:\code\code-zhx\elasticsearch\home\config

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

VM options 配置中添加

-Des.path.home=D:\code\code-zhx\elasticsearch\home

   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:\code\code-zhx\elasticsearch\home\modules] 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:\code\code-zhx\elasticsearch\home\config\java.policy

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM