Apache Hive源码阅读环境搭建

前置软件:

JDK 1.8

Maven 3.3.9

1 下载源码

bash 复制代码
# 下载源码
git clone https://github.com/apache/hive.git

cd hive

# 查看标签
git tag

# 切换到要阅读的指定版本的tag
git checkout rel/release-2.1.0

2 编译源码

bash 复制代码
mvn clean install -DskipTests

执行报错

日志如下

log 复制代码
E:\os_ws\hive\common>mvn clean install -DskipTests
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Hive Common 2.1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ hive-common ---
[INFO] Deleting E:\os_ws\hive\common\target
[INFO] Deleting E:\os_ws\hive\common (includes = [datanucleus.log, derby.log], excludes = [])
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-no-snapshots) @ hive-common ---
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (generate-version-annotation) @ hive-common ---
[INFO] Executing tasks

main:
     [exec] /bin/bash: E:os_wshivecommon/src/scripts/saveVersion.sh: No such file or directory
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.992 s
[INFO] Finished at: 2022-05-17T15:31:30+08:00
[INFO] Final Memory: 17M/298M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (generate-version-annotation) on project hive-common: An Ant BuildException has occured: exec returned: 127
[ERROR] around Ant part ...<exec failοnerrοr="true" executable="bash">... @ 4:46 in E:\os_ws\hive\common\target\antrun\build-main.xml
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

3 解决报错

找了很多类似的问题,他们的解决方法不太适用于我的情况

果断自己想办法解决,既然hive-common打包报错那就下载好common包

3.1 下载hive-common的jar包

1 浏览器打开https://mvnrepository.com/

2 输入hive common点击回车搜索jar包

3 找到需要的版本

4 点击下载jar

5 回到命令行将jar包install到本地maven仓库

bash 复制代码
mvn install:install-file -DgroupId=org.apache.hive -DartifactId=hive-common -Dversion=2.1.0 -Dpackaging=jar -Dfile=E:\download\browser\hive-common-2.1.0.jar
  • -DgroupId=org.apache.hive 指定groupid
  • -DartifactId=hive-common 指定artifactId
  • -Dfile=E:\download\browser\hive-common-2.1.0.jar 指定jar包所在路径

3.2 注释掉antrun插件

找到hive\common\pom.xml将264行到286行的maven-antrun-plugin注释掉

3.3 再次执行编译命令

复制代码
mvn clean install -DskipTests

终于编译成功了

相关推荐
涤生大数据5 小时前
Apache Spark 4.0:将大数据分析提升到新的水平
数据分析·spark·apache·数据开发
大数据CLUB12 小时前
基于spark的奥运会奖牌变化数据分析
大数据·hadoop·数据分析·spark
Edingbrugh.南空12 小时前
Hadoop高可用集群搭建
大数据·hadoop·分布式
阿絮~17 小时前
Apache RocketMQ进阶之路阅读笔记和疑问
笔记·apache·rocketmq
无级程序员1 天前
hive2服务启动报错:/tmp/hive on HDFS should be writable(不是chmod 777能解决的)
hive·hadoop·hdfs
rui锐rui1 天前
大数据学习2:HIve
大数据·hive·学习
凌辰揽月2 天前
Servlet学习
hive·学习·servlet
weixin_307779132 天前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
王小王-1232 天前
基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
大数据·hive·hadoop·分布式·hadoop公共自行车·共享单车大数据分析·hadoop共享单车
王小王-1232 天前
基于Hadoop的大规模文本词频统计分析系统设计与实现
hadoop·mapreduce·hadoop词频统计·hadoop文本统计·mapreduce词频统计