ElasticSearch構(gòu)建源碼環(huán)境步驟:
以版本6.1.2 on mac, idea為例
準(zhǔn)備:gradle 4.3版本阱飘。jdk10锰提。
jdk10 mac版本可以到我的百度云獲炔咕:
鏈接:https://pan.baidu.com/s/1wEWglWooj0HeyAcVEafdTw 密碼:7aet
修改~/.gradle/init.gradle文件:
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
def GRADLE_LOCAL_RELEASE_URL = 'https://repo.gradle.org/gradle/libs-releases-local'
def ALIYUN_SPRING_RELEASE_URL = 'https://maven.aliyun.com/repository/spring-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_JCENTER_URL."
remove repo
}
if (url.startsWith('http://repo.spring.io/plugins-release')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_SPRING_RELEASE_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
}
maven {
url ALIYUN_JCENTER_URL
}
maven {
url ALIYUN_SPRING_RELEASE_URL
}
maven {
url GRADLE_LOCAL_RELEASE_URL
}
}
}
1. 修改配置
下載git源碼后,終端下cd 到es目錄下
執(zhí)行./gradlew idea
會遇到以下問題
(1)下載地址解析問題,如distribution模塊,那么到這個模塊下瞒瘸,修改build.gradle,加入以下內(nèi)容:
buildscript {
repositories {
maven {url "https://plugins.gradle.org/m2/"}
maven {url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven {url 'http://repo.maven.apache.org/maven2' }
}
dependencies {
classpath 'com.netflix.nebula:gradle-ospackage-plugin:3.4.0'
}
}
如benchmarks模塊:
buildscript {
repositories {
maven {url 'https://plugins.gradle.org/m2/' }
maven {url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven {url 'http://repo.maven.apache.org/maven2' }
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
}
}
(2)java_home問題:
將該groovy文件(buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy)
中:
String javaHome = System.getenv('JAVA_HOME')
改為絕對地址路徑
String javaHome = "/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home"
解決以上問題后再次執(zhí)行熄浓,直到出現(xiàn)則編譯成功情臭,如果只需要編譯,則到此就可以了赌蔑。
BUILD SUCCESSFUL in 15s
2. idea環(huán)境
idea下編譯需要修改gradle配置:
- 選擇Use Gradle 'wrapper' task configuration
- JVM配置jdk1.8(idea不兼容問題)
- Service directory path選擇:~/.gradle
刷新import俯在,開始build