linux、windows下通用,亲测。

下面以window为例,假设:hadoop工程目录位于D:\work\eclipse64\hadoop-1.2.0.1.3.0.0,eclipse安装目录为E:\DevelopTools\eclipse64。

  1. 安装ant

    ant安装不再介绍。

  

  2. 导入hadoop eclipse插件工程

    hadoop eclipse工程位于hadoop工程目录的src\contrib\eclipse-plugin下,其默认的项目名称是 MapReduceTools。

  3. 导入所需jar包。

    a.  将hadoop-core-*.jar(如hadoop-core-1.2.0.1.3.0.0-107.jar)拷贝到hadoop工程目录下(如D:\work\eclipse64\hadoop-1.2.0.1.3.0.0下)。

    b.  将commons-cli-1.2.jar、commons-lang-2.4.jar、commons-httpclient-3.0.1.jar、 commons-configuration-1.6.jar、jackson-mapper-asl-1.8.8.jar、
jackson-core-asl-1.8.8.jar拷贝到hadoop工程目录下的lib目录(如D:\work\eclipse64\hadoop-1.2.0.1.3.0.0\lib下)。
 

    c.  在项目 MapReduceTools 中新建 lib 目录,将hadoop-core-*.jar(如我的为hadoop-core-1.2.0.1.3.0.0-107.jar)拷贝到新建的lib目录下,并且将lib目录下hadoop-core-*.jar重命名为 hadoop-core.jar。

  4. 修改build-contrib.xml。

    a.  将hadoop工程目录下的src\contrib\build-contrib.xml(如D:\work\eclipse64\hadoop-1.2.0.1.3.0.0\src\contrib\build-contrib.xml)文件拷贝到 MapReduceTools 项目目录中。

    b.  添加eclipse.home,添加hadoop版本version:

      <!--添加eclipse.home和hadoop的version-->
      <property name="eclipse.home" location="E:/DevelopTools/eclipse64"/>
      <property name="version" value="1.2.0.1.3.0.0-107"/>

    c.  修改javac.deprecation为on:

      <property name="javac.deprecation" value="on"/><!--原来为off-->

  5. 修改build.xml

    对项目 MapReduceTools 中的文件build.xml做如下修改:

    a.  修改build-contrib.xml的位置,去掉"../",改为当前目录下的build-contrib.xml文件:

      <importfile="build-contrib.xml"/>

    b.  添加hadoop-core:  

      <!-- Override classpath to include Eclipse SDK jars -->
      <path id="classpath">
        <pathelement location="${build.classes}"/>
        <pathelement location="${hadoop.root}/build/classes"/>
        <pathelement location="${hadoop.root}/hadoop-core-${version}.jar"/><!--添加的hadoop-core-->
        <path refid="eclipse-sdk-jars"/>
      </path>

    c.  添加includeantruntime:    

      <target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
        <echo message="contrib: ${name}"/>
        <javac
          encoding="${build.encoding}"
          srcdir="${src.dir}"
          includes="**/*.java"
          destdir="${build.classes}"
          debug="${javac.debug}"
          deprecation="${javac.deprecation}"
          includeantruntime="on"><!--添加includeantruntime="on"-->
          <classpath refid="classpath"/>
        </javac>
      </target>

    d.  修改并添加jar包拷贝:

      <!-- Override jar target to specify manifest -->
      <target name="jar" depends="compile" unless="skip.contrib">
        <mkdir dir="${build.dir}/lib"/>

        <!--修改并添加jar包拷贝-->

        <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
        <copy file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib" verbose="true"/>
        <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
        <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
        <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
        <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
        <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>

        <jar
          jarfile="${build.dir}/hadoop-${name}-${version}.jar"
          manifest="${root}/META-INF/MANIFEST.MF">
          <fileset dir="${build.dir}" includes="classes/ lib/"/>
          <fileset dir="${root}" includes="resources/ plugin.xml"/>
        </jar>
      </target>

  6. 修改MANIFEST.MF

    对项目 MapReduceTools 中的META-INF/MANIFEST.MF文件做如下修改:

    Bundle-ClassPath: classes/,
       lib/hadoop-core.jar ,
       lib/commons-cli-1.2.jar ,
       lib/commons-httpclient-3.0.1.jar,
       lib/jackson-core-asl-1.8.8.jar,
       lib/jackson-mapper-asl-1.8.8.jar,
       lib/commons-configuration-1.6.jar,
       lib/commons-lang-2.4.jar

  7. 编译插件

    右键点击build.xml文件->Run as->Ant build,当编译输出BUILD SUCCESSFUL,说明编译成功。

hadoop-1.2.0 eclipse插件编译的更多相关文章

  1. hadoop 2.2.0 eclipse 插件编译 及相关eclipse配置图解

    https://github.com/winghc/hadoop2x-eclipse-plugin 官网 http://kangfoo.github.io/article/2013/12/build- ...

  2. hadoop 1.2.1 eclipse 插件编译

    hadoop-1.2.1 eclipse插件编译       在ubuntu上进行hadoop相关的开发,需要在eclipse上安装hadoop开发插件.最新释放出的hadoop包含源码的包,以had ...

  3. Hadoop2.2.0 eclipse插件编译及Ecliipse配置说明(图文版)

    一.引言: 最近在做一个城商行项目的POC测试it版本,涉及到编译Linux64bti的源码和开发插件使用,作为笔记分享给大家. 二.插件编译 Hadoop2x版本的Eclipse插件已经单独抽取成独 ...

  4. Hadoop-2.3.0的Eclipse插件编译

    Hadoop-2.3.0的Eclipse插件编译 #cd /usr/local/src/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugi ...

  5. hadoop2.6.0的eclipse插件编译和设置

    编译hadoop2.6.0的eclipse插件 下载源码: git clone https://github.com/winghc/hadoop2x-eclipse-plugin.git 编译源码: ...

  6. Hadoop2.x的Eclipse插件编译与安装

    Eclipse的Hadoop插件在开发hadoop应用程序中可以提供一些很方便的操作,可以直接Eclipse中浏览HDFS上的文件,可以直接新建选择MapReduce项目,项目自动包含所有需要的had ...

  7. Hadoop 2.5.2 eclipse plugin 编译 win7 集成

      一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www.cnblogs.com/huligong1234/p/4136331 ...

  8. 简化 Hadoop 2.4.1 Eclpse 插件编译【原创】

    昨天折腾hadoop2X的eclipse插件,从https://github.com/winghc/hadoop2x-eclipse-plugin把源码搞下来后,很快搞定出来一个,但是...New H ...

  9. Hadoop 1.1.2 eclipse plugin 编译 win7 集成

    Windows平台上使用ANT编译Hadoop Eclipse Plugin 一.准备工作:   1.安装JDK 下载页面:http://www.oracle.com/technetwork/java ...

随机推荐

  1. Eclipse插件安装与使用 —— Properties Editor

    一.下载     首先当然是下载插件啦! 下载地址:http://sourceforge.jp/projects/propedit/downloads/40156/jp.gr.java_conf.us ...

  2. Volley HTTP库系列教程(5)自定义一个Volley请求

    Implementing a Custom Request Previous  Next This lesson teaches you to Write a Custom Request parse ...

  3. Qt之透明提示框

    简述 经常使用企鹅的小伙伴一定对登录失败的提示框很熟悉,主要涉及窗口透明并添加图标.提示信息.关闭按钮的显示等. 我们可以利用QWidget创建一个提示框,然后通过样式设置我们想要的效果. 简述 效果 ...

  4. POJ 3468 A Simple Problem with Integers

    线段树的指针表示法. 代码还有待消化.. 代码里面多次用到了函数递归,感觉这次对递归又有了深一层的理解. #define LOCAL #include <iostream> #includ ...

  5. asp.net下通过泛解析和伪静态实现二级域名的实现方法

    在net中微软已经为我们留下了接口,让我们为所欲为了. 首先我们可以通过一张图大概了解下.net的生命周期. 从 上图可以看出来,针对每个不同用户的请求,服务器都会创建一个新的HttpContext实 ...

  6. svn备份脚 本

    一直用这套脚本备份,脚本主体虽不是原创,但是从网上得到后因为不能运行也进行了些修改,前两天看到有人问关于SVN备份的问题,今天又把脚本整理了一下,解决了不能循环备份多个配置库的问题.希望对大家有所帮助 ...

  7. 【转】MIPS交叉编译环境的建立

    原文网址:http://imgtec.eetrend.com/forum/2371 我觉得对于MIPS处理起来说最令新手头疼的应该就是编译环境的建立了,这点MIPS做的确实不是很好,不像ARM那样有许 ...

  8. python-socket.error[10054]:对象的复制

    1.socket.error[10054],对方强制关闭了连接 在用socket.recvfrom时,若事先没有bind时, 先使用socket.sendto,socket.recvfrom 有时会出 ...

  9. 【javascript】js 判断微信浏览器

    上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打 ...

  10. 支持多种浏览器的纯css下拉菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...