Apache Hive源码阅读环境搭建

news/2024/12/28 6:47:24/

前置软件:
JDK 1.8
Maven 3.3.9

1 下载源码

# 下载源码
git clone https://github.com/apache/hive.gitcd hive# 查看标签
git tag# 切换到要阅读的指定版本的tag
git checkout rel/release-2.1.0

2 编译源码

mvn clean install -DskipTests

执行报错

日志如下

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 tasksmain:[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仓库

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

终于编译成功了
在这里插入图片描述


http://www.ppmy.cn/news/1229671.html

相关文章

【Kettle实战】字符串处理及网络请求JSON格式处理

经过大量的kettle操作实践&#xff0c;我们会渐渐掌握一些技巧&#xff0c;大大减轻清洗的工作量。比如在哪里 处理字符串更方便&#xff0c;在哪儿处理更合理都是一个取舍问题。 字符串拼接 MySQL中使用concat(字段1,字段2)&#xff0c;但是如果“字段2”为NULL&#xff0c;结…

从0开始学习JavaScript--JavaScript中的集合类

JavaScript中的集合类是处理数据的关键&#xff0c;涵盖了数组、Set、Map等多种数据结构。本文将深入研究这些集合类的创建、操作&#xff0c;以及实际应用场景&#xff0c;并通过丰富的示例代码&#xff0c;帮助大家更全面地了解和应用这些概念。 数组&#xff08;Array&…

Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具&#xff0c;查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中&#xff0c;不再赞成使用ifconfig工具&#xff0c;取而代之的是nmcli工具&#xff0c;服务管理也是以systemctl工具取代了service,这些之前版本的…

高压功率放大器有什么作用和用途

高压功率放大器是一种专门用于放大高电压和高功率信号的电子器件&#xff0c;其主要作用是将输入信号放大到足够的范围内&#xff0c;以便后续电路进行进一步处理。在工业、医疗、军事等领域中&#xff0c;高压功率放大器有着广泛的应用。 下面介绍几个高压功率放大器的应用场景…

海外代理IP如何找到靠谱的?

现在市面上有很多代理服务商&#xff0c;大家可以根据自己的需求选择一个适合自己业务的的IP代理服务商&#xff0c;现在也有一些免费的&#xff0c;但如果力求稳定安全&#xff0c;还是选择付费的。 这里提醒一句&#xff0c;在买代理IP时最好找这种可以免费试用的&#xff0…

被OpenAI开除后,创始人奥特曼在微软找到了新工作

微软首席执行官纳德拉宣布&#xff0c;OpenAI创始人Sam Altman和Brockman及其同事将加入微软。随后&#xff0c;Altman转发了他的推特。 此前&#xff0c;外媒消息称&#xff0c;OpenAI首席科学家伊尔亚苏茨克维&#xff08;Ilya Sutskever&#xff09;周日晚告知公司员工&…

对不听话的孩子怎么办?牢记下面的方法!

对不听话的孩子怎么办?育儿是一项充满挑战的工作&#xff0c;而面对不听话的孩子更是让许多家长头疼的问题。在这篇文章中&#xff0c;我们将分享六个方法&#xff0c;帮助您有效地应对不听话的孩子&#xff0c;建立更加和谐的家庭氛围。 对不听话的孩子怎么办?下面具体来说…

2023-11-20 LeetCode每日一题(最大子数组和)

2023-11-20每日一题 一、题目编号 53. 最大子数组和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的…