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

终于编译成功了

相关推荐
それども4 小时前
Apache POI XSSFWorkbook 和 SXSSFWorkbook 的区别
apache·excel
xifangge202513 小时前
PHP 错误日志在哪里看?Apache / Nginx / PHP-FPM 一次讲清
nginx·php·apache
潇凝子潇18 小时前
Apache Kafka 跨集群复制实现方案
分布式·kafka·apache
大厂技术总监下海1 天前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache
鸠摩智首席音效师2 天前
如何在 Apache 中排除特定的代理 URL 请求 ?
apache
鹿衔`2 天前
Hadoop HDFS 核心机制与设计理念浅析文档
大数据·hadoop·hdfs
Justice Young2 天前
Sqoop复习笔记
hadoop·笔记·sqoop
大厂技术总监下海2 天前
从Hadoop MapReduce到Apache Spark:一场由“磁盘”到“内存”的速度与范式革命
大数据·hadoop·spark·开源
zgl_200537792 天前
ZGLanguage 解析SQL数据血缘 之 Python提取SQL表级血缘树信息
大数据·数据库·数据仓库·hive·hadoop·python·sql
SeaTunnel3 天前
Apache SeaTunnel 2025 案例精选重磅发布!
大数据·开源·apache·seatunnel·案例