背景
重新编译 elasticsearch-hadoop 包;
GitHub - elastic/elasticsearch-hadoop at 6.8
编译 7.17 版本时很正常,注意设置下环境变量就好,JAVA8_HOME/....
编译 6.8 版本时(要求jdk8 / jdk9),出现异常
-
Could not resolve org.springframework.build.gradle:propdeps-plugin:0.0.7.
-
Could not resolve cascading:cascading-local:2.6.3.
-
Could not resolve org.elasticsearch.gradle:build-tools:6.8.24-SNAPSHOT
-
Could not resolve cascading:cascading-hadoop:2.6.3.
分析(尝试逐个解决)
-
gradle 仓库修改
// ali库 解决 Could not resolve org.springframework.build.gradle:propdeps-plugin:0.0.7. maven{ url 'https://maven.aliyun.com/repository/central'} maven{ url 'https://maven.aliyun.com/repository/public' } maven{ url 'https://maven.aliyun.com/repository/google'} maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} maven{ url 'https://maven.aliyun.com/repository/spring'} maven{ url 'https://maven.aliyun.com/repository/spring-plugin'} maven{ url 'https://maven.aliyun.com/mvn/guide'} maven{ url 'https://maven.aliyun.com/repository/apache-snapshots'}
-
esh-version.properties 修改
6.8.24-SNAPSHOT -> 6.8.23
- cascading-local 这个包始终无法获取
最终解决
本质原因有2个,一个是 repo.spring.io 改造成需要验证了,不验证会有401;另一个是http://conjars.org/repo 已经失效了,需要替换;
所以前面修改的全部回滚,完整解决方案如下:
-
处理 propdeps-plugin 包,增加阿里云的库
// ali库 propdeps-plugin maven{ url 'https://maven.aliyun.com/repository/central'} maven{ url 'https://maven.aliyun.com/repository/public' } maven{ url 'https://maven.aliyun.com/repository/google'} maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} maven{ url 'https://maven.aliyun.com/repository/spring'} maven{ url 'https://maven.aliyun.com/repository/spring-plugin'} maven{ url 'https://maven.aliyun.com/mvn/guide'} maven{ url 'https://maven.aliyun.com/repository/apache-snapshots'}
-
修改 buildSrc/src/main/groovy/org/elasticsearch/hadoop/gradle/BuildPlugin.groovy