Elasticsearch V5.0.1 源碼在Idea中如何運行

Elasticsearch V5.0.1 源碼在Idea中如何運行

1. 下載源碼

github: 傳送門

2. 安裝gradle

這里只說注意事項,具體安裝請自行百度

必須是2.13版本才行,2.13的下載地址:
官方下載地址
騰訊微云下載地址

否則會報以下錯誤:

Gradle 2.13 is required to build elasticsearch

# 這個報錯可注釋掉elasticsearch/buildSrc/build.gradle中32行左右的代碼:
if (GradleVersion.current() != GradleVersion.version('2.13')) {
  throw new GradleException('Gradle 2.13 is required to build elasticsearch')
}

# 然而,雖然上面的報錯可以通過注釋代碼解決,但是這個報錯,我們卻無能為力,只有準確的使用2.13版本才能解決
# https://github.com/elastic/elasticsearch/issues/18935
# https://discuss.gradle.org/t/gradle-2-14-breaks-plugins-using-consolerenderer/18045
Generating JAR file 'gradle-api-3.2.1.jar'
:buildSrc:clean
:buildSrc:compileJava
:buildSrc:compileGroovy
startup failed:
/Users/ervin/IdeaProjects/sourceCode/elasticsearch/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/TestProgressLogger.groovy: 28: unable to resolve class org.gradle.logging.ProgressLogger
 @ line 28, column 1.
   import org.gradle.logging.ProgressLogger
   ^

/Users/ervin/IdeaProjects/sourceCode/elasticsearch/buildSrc/src/main/groovy/org/elasticsearch/gradle/vagrant/TapLoggerOutputStream.groovy: 25: unable to resolve class org.gradle.logging.ProgressLogger
 @ line 25, column 1.
   import org.gradle.logging.ProgressLogger
   ^

/Users/ervin/IdeaProjects/sourceCode/elasticsearch/buildSrc/src/main/groovy/org/elasticsearch/gradle/vagrant/VagrantLoggerOutputStream.groovy: 23: unable to resolve class org.gradle.logging.ProgressLogger
 @ line 23, column 1.
   import org.gradle.logging.ProgressLogger
   ^

3 errors

:buildSrc:compileGroovy FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileGroovy'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

3. 更改gradle的遠程倉庫

gradle的倉庫需求翻墻才能下載依賴。但是好在gradle可以使用maven倉庫,如下:

repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}


> 開源中國的倉庫貌似已經(jīng)廢棄了,阿里云的倒是不錯的選擇,如上。

**更改gradle倉庫的步驟**

* 將es源碼中所有的顯式指定倉庫的地方都換為阿里云的倉庫地址

repositories {
maven {
url 'https://plugins.gradle.org/m2/'
}
}

repositories {
jcenter()
}


* 然后,將下面這段Copy到名為init.gradle文件中,并保存到 USER_HOME/.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
}
}
}

> init.gradle文件其實是Gradle的初始化腳本(Initialization Scripts),也是運行時的全局配置。
更詳細的介紹請參閱 http://gradle.org/docs/current/userguide/init_scripts.html

## 4.在elasticsearch源碼根目錄下,在命令行中運行g(shù)radle idea
## 5.將elasticsearch源碼導(dǎo)入idea工程
具體導(dǎo)入方式參看博客:http://www.cnblogs.com/yjmyzz/p/gradle-getting-start.html
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,281評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,192評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,653評論 19 139
  • 我們是誰? 北京人人帶科技有限公司 2016年 成立于北京。 人人帶倡導(dǎo)人人參與,主打“共享經(jīng)濟”理念國內(nèi)領(lǐng)先的知...
    097bd16205d5閱讀 104評論 0 0
  • 每每說到青春二字,每個人都有不同的感想和認知,青春旅程中有開心,有悲傷,有任性,有叛逆~愛玩,懵懂,羞澀,戀愛等...
    笑笑427閱讀 586評論 1 0

友情鏈接更多精彩內(nèi)容