您的位置:首页 > 编程语言 > Java开发

编译hadoop 1.2.1 Hadoop-eclipse-plugin插件

2013-12-15 16:04 375 查看
编译hadoop1.x.x版本的eclipse插件为何如此繁琐?

个人理解,ant的初衷是打造一个本地化工具,而编译hadoop插件的资源间的依赖超出了这一目标。导致我们在使用ant编译的时候需要手工去修改配置。那么自然少不了设置环境变量、设置classpath、添加依赖、设置主函数、javac、jar清单文件编写、验证、部署等步骤。

那么我们开始动手


主要步骤如下

设置环境变量

设置ant初始参数

调整java编译参数

设置java classpath

添加依赖

修改META-INF文件

编译打包、部署、验证


具体操作

设置语言环境

设置ant初始参数

修改build-contrib.xml文件

编辑并修改hadoop.root值为实际hadoop解压的根目录

添加eclipse依赖

设置版本号

调整java编译设置

启用javac.deprecation



改为

ant 1.8+ 版本需要额外的设置javac includeantruntime=“on” 参数

修改编译hadoop插件 classpath

添加 文件路径 hadoop-jars

将hadoop-jars 添加到classpath

修改或添加额外的jar依赖

因为我们根本都没有直接编译过hadoop,所以就直接使用${HADOOP_HOME}/lib下的资源.需要注意,这里将依赖jar的版本后缀去掉了。

同样还是在hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml文件中修改或添加

找到
<!--
 Override jar target to specify manifest -->
修改target name为 jar 中的 copy file 的路径,具体如下:

修改 jar 清单文件

找到这个文件的Bundle-ClassPath这一行,然后,修改成

请保证上述字符占用一行,或者满足osgi bundle 配置文件的换行标准语法也行的。省事就直接写成一行,搞定。

新建直接打包并部署jar到eclipse/plugin目录的target

添加target直接将编译的插件拷贝到eclipse插件目录

将ant默认target default=“java"改为default=“deploy”

编译并启动eclipse验证插件

启动eclipse,新建Map/Reduce Project,配置hadoop location.验证插件完全分布式的插件配置截图和core-site.xml端口配置

效果图



相关源文件

hadoop-1.2.1/src/contrib/build-contrib.xml

hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml

hadoop-1.2.1/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF

hadoop-eclipse-plugin-1.2.1.jar

在此非常感谢kinuxroot这位博主的的博文参考。

原文地址:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: