linux下编译Hive 源码并导入eclipse中(使用maven)
来源:互联网 发布:杭州认知网络 编辑:程序博客网 时间:2024/05/23 13:36
1.下载hive源码
官网下载
我下载的hive-2.0.0版本的。
2.使用maven编译。
一开始我要使用的是ant进行编译的,可是我的源码目录下没有build.xml文件,只有pom.xml文件,这使得我在使用ant编译的时候总是会报这样的错:
Buildfile: build.xml does not exist!Build failed
上网查了好多方法,最终却无功而返;只能想其他方法。
突然感觉pom.xml 怎么那么眼熟,以前建的maven 工程中也都有个pom.xml文件么,这时我就上网查了一下关于maven编译的方法:
1.首先下载maven:
sudo apt-get install maven
2.开始编译Hive,进入下载的hive源码文件加 目录 命令行输入:
mvn clean install -DskipTests -Phadoop-2
3.清空相关的输出:
mvn eclipse:clean
4.编译成eclipse工程(此过程比较慢我进行了将近一个小时才完成):
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs -Phadoop-2
3.编译成功后就可以直接导入到eclipse中了
直接直接选中编译完后的hive源码文件夹 import 导入到eclipse中就可以:
import -> General -> existing projects into workspase -> Browse… -> 选中编译完后的hive源码文件夹 -> finish
导入到工作空间之后回报错:(如图)
这时problems标签下会出现4969个错误:(如图)
这里最主要的错误是
Unbound classpath variable: 'M2_REPO/**/***/***.jar'
说是classpath变量的jar包找不到了,其实这些jar包是存在在我们的maven本地库中的,本地库默认位置在用户目录下的.m2文件夹下(隐藏文件使用Ctrl+h显示)关联一下即可,具体步骤:
Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
new一个,名字当然是M2_REPO,属性选folder,导入本地库即可
错误解决!
- linux下编译Hive 源码并导入eclipse中(使用maven)
- 编译hive源码导入到eclipse中
- eclipse下导入tomcat源码并编译 (适用于mac,windows,Linux)
- eclipse中乱码解决及注释模板导入及linux下eclipse导入源码导致源码编译报错
- windows下编译xgboost 并在eclipse中导入xgboost
- Spring源码项目编译并导入eclipse
- Spring4源码下载编译并导入eclipse
- Gradle编译Spring源码,并导入Eclipse
- Eclipse使用Maven导入Robotium源码后报错
- 如何使用Eclipse导入并运行源码
- 如何使用Eclipse导入并运行源码
- 如何使用Eclipse导入并运行源码
- ubantu 13.1 下Hadoop 2.4.1安装,源码编译并导入Eclipse
- 使用maven编译dubbo,导入eclipse(其他maven开源项目编译类似)
- 使用eclipse将android2.3 phone源码导入并编译的方法
- Maven-在Eclipse中检出并导入Maven项目
- spring3.1.x源码编译并导入eclipse
- win7下spring framework源码编译并导入到myeclipse中
- 杭电5422
- 使用mysql交互
- 第13周实践项目1分数类中的运算符重载(1)
- 感情沦陷(2006.6.16)
- 产品经理文档功底
- linux下编译Hive 源码并导入eclipse中(使用maven)
- Tomcat- javax.servlet.ServletException: java.lang.AbstractMethodError处理记录
- mongodb 分组查询
- linux使用ipvsadm实现LVS
- mysql 5.7安装遇到的问题记录
- Ubuntu Android 开发(三) 使用SDK更新SDK 镜像
- Android常用布局极其优缺点
- "围观"设计模式(16)--结构型之组合模式(Composite Pattern)
- 面试题:一个数组插入另一个数组指定的位置