Overview
在es 5.X及之后的版本中,包管理框架从Maven迁移到了Gradle。
- 在Maven导入IDEA的过程中,不需要一些命令行,因为idea的reimport按钮会自动download jar包以及建立索引。
- 而在Gradle中,这个转换过程与mvn有所不同,需要在导入(import project)之前进行一些gradle命令行操作,如下,
- groovy install
- gradle install
- 配置系统环境变量GRADLE_USER_HOME,以便自定义gradle下载的jar包存放位置
- cd yourDir/es614
- git clone –depth 1 –branch v6.1.4 https://github.com/elastic/elasticsearch.git
- cd elasticsearch
- gradle clean –parallel
- gradle idea -Dhttp.proxyHost=proxy.your.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.your.com -Dhttps.proxyPort=8080 –parallel(不要带http://)
- gradle build -x test –parallel
- IDEA import
build.gradle
gradle idea begin
gradle idea end
gradle build begin
gradle build过程中一直加载、编译modules和plugins。
gradle build mid
上图,在命令行里指定了-x test来跳过测试了,不知道为什么还运行这个main(),这里需要再观察。
gradle build end
上图,虽然最后build failed了,但是将被gradle编译过的es导入到idea之后,还是能够正常显示类关系,即被源码关系链索引好了。
idea import project
import build.gradle
Result
索引后的源码目录
external libraries第三方库
遗留问题
- gradle build -x test的
失效
- gradle build的
BUILD FAILED
- 为什么没有选择最新的v6.2.4。是由于minimumCompilerVersion的限制。(服务器运行可以是jdk8,但是编译要更新版本的jdk。6.2.x是jdk9;6.3.x是jdk10)
es tag till 20180508
BuildPlugin.groovy