虽然使用Hadoop好几个月的时间,但是在eclipse上开发mapreduce程序使用的插件都是别人编译好的,曾经试着编译没有成功,在上几篇hadoop博文里有说道。刚才在youtube上找到一个视频,才学会了插件的编译,现做笔记如下。
打开eclipse,导入hadoop安装目录下的源代码目录
按上图的界面,依次点ok,Finish即可。导入后项目如下:

右键项目名称build path->configure buid path,有如下:

在libraries里面加入hadoop目录下的hadoop-core-1.0.4.jar,单击OK即可。
然后编辑项目中build.properties文件,添加上面两行:

第一行是eclipse的安装目录,第二行是hadoop版本号,一定要写对。
然后打开项目下的build.xml,添加如下几处:
(1)
(2)
(3)
注意(3)中的几个copy语句,前两行对原来文件的两行有所修改,后面几个是添加上去的。总之,修改为和上图一致即可。
然后是项目下META-INF目录下的MANIFEST.MF文件,在末尾修改为如下,其实是添加了几个jar文件:
Eclipse-LazyStart: true
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-lang-2.4.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar
Bundle-Vendor: Apache Hadoop
到此就可以开始编译了。在build.xml上右键点击,run as->ant build,如果成功会显示:

然后在hadoop目录下的build/contrib下会生成插件:

把插件拷贝到eclipse目录下的plugins目录下,重启elcipse即可。