使用的hadoop版本为hadoop-1.2.1(对应的含源码的安装包为hadoop-1.2.1.tar.gz)
将hadoop和eclipse都解压在home中的用户目录下
/home/chen/hadoop-1.2.1
/home/chen/eclipse
进入eclipse插件的编译目录
cd /home/chen/hadoop-1.2.1/src/contrib/eclipse-plugin/
修改build.xml,有两处需要修改
1.在classpath中添加hadoop相关jar包
<fileset dir="${hadoop.root}"> <include name="**/*.jar" /> </fileset>
2.将已有的两行copy项注释,添加如下内容
<!-- <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> --> <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" tofile="${build.dir}/lib/commons-cli.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" tofile="${build.dir}/lib/commons-configuration.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" tofile="${build.dir}/lib/commons-httpclient.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" tofile="${build.dir}/lib/commons-lang.jar" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-core-asl.jar" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-mapper-asl.jar" verbose="true"/>
修改处见图中标红
之后运行ant命令编译,指明eclipse的安装目录和hadoop的版本
ant -Declipse.home=/home/chen/eclipse -Dversion=1.2.1
编译成功会显示BUILD SUCCESSFUL字样
在 /home/chen/hadoop-1.2.1/build/contrib/eclipse-plugin/目录下会生成hadoop-eclipse-plugin-1.2.1.jar
将hadoop-eclipse-plugin-1.2.1.jar拷贝到eclipse的plugins目录下就可以了
最后还需要注意一个问题,有的兄弟可能遇到编译好的插件在eclipse中无法加载问题,原因是JDK不兼容,我是用JDK1.7编译的插件,如果你的eclipse默认运行的还是JDK6,那么这插件肯定用不了,稳妥的方法是用相同版本的JDK
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
· 通过 Canvas 将后端发来的一帧帧图片渲染成“视频”的实现过程
· 当加密ID需要变成Guid:为什么我选择了AES-CBC而非GCM?
· 基于 epoll 的协程调度器——零基础深入浅出 C++20 协程
· 下划线字段在golang结构体中的应用
· SQL Server也能玩正则表达式?
· C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
· 直击痛点的开源项目「GitHub 热点速览」
· C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)
· 我的AI自学路线,可能对你有用
· 记一次 .NET 某自动化智能制造软件 卡死分析