1.下载源码包
https://github.com/apache/hive/archive/refs/tags/rel/release-2.3.7.zip
或使用git直接拉取
无法解决科学问题请点
2.环境
JDK 1.8.0_202
Apache Maven 3.6.3
git 2.32.0 (编译过程需要执行bash,cmd会报错)
1.操作
在已经解压过的Hive源码包下启动git bash 运行一下代码mvn clean package -Phadoop-2,dist
这是官网给出的编译语句,根据基于的hadoop版本填入数字mvn clean package -Phadoop-2 -DskipTests
跳过测试mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package
在上面的基础上跳过文档生成
如果显示Hadoop依赖问题报错可以去掉hadoop项 mvn clean package -Pdist -DskipTests
2.主要问题
(1).pentaho-aggdesigner-algorithm:jar缺失
这个问题基本编译Hive的都会遇到,根本原因是阿里云镜像jar包索引不明,按照其它方法提供的更改POM文件中spring镜像仓库依然无法下载jar包,最终手动下载安装成功
mvn install:install-file -DgroupId=org.pentaho -DartifactId=pentaho-aggdesigner-algorithm -Dversion=5.1.5-jhyde -Dpackaging=jar -Dfile=pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar(jar绝对路径)
(2).Java环境问题
经过几次测试结合其他总结经验发现,JDK验证(java -version,javac,java)都正常的情况依然会有类似报错
可以在执行编译语句前设置JDK路径(很多时候mvn默认是JRE)set JAVA_HOME=你的JDK绝对路径
解决上述问题基本就编译成功