sgamerv

博客园 首页 新随笔 联系 订阅 管理

使用的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

 

 

 

posted on 2013-11-19 23:15  sgamerv  阅读(470)  评论(0编辑  收藏  举报