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. HDU 1054:Strategic Game

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. Allegro16.3约束设置

    差分对的约束设置 第一步,差分对的设置 差分对的设置有很多方法,下面介绍两种最常用的方法. 1. 点击菜单Logic→Assign Differential Pair... 弹出以下对话框. 点击你想 ...

  3. 19.allegro过孔设置[原创]

    一.根据线宽设置过孔 在规则管理器下 --- --- ---- --- --- 二.设置原点 法1: -- -- 法二: 然后鼠标点选 ---option栏目在哪? --- 三:过孔问题1 当一个过孔 ...

  4. html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计

    序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死宽高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度 ...

  5. js判断页面放大缩小

    项目中,经常会碰到页面被放大或者缩小,导致页面显示错误,js可以判断页面放大缩小. // 若返回100则为默认无缩放,如果大于100则是放大,否则缩小 function detectZoom (){ ...

  6. 51nod1204 Parity

    如果sm[j]和sm[i]奇偶性相同,那么(i+1,j)个数为偶数如果奇偶性相同看成是朋友,不同的看成是敌人,那么就跟bzoj1370的做法差不多了. 如果奇偶性相同,就将x和y合并,x+n,y+n合 ...

  7. Book 最短路算法

    用HDU2544整理一下最近学的最短路算法 1.Dijkstra算法 原理:集合S表示已经找到最短路径的点,d[]表示当前各点到源点的距离 初始时,集合里面只有源点,当每个点u进入集合S时,用d[u] ...

  8. hibernate注解(转)

    一.实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entity public class Flight impl ...

  9. 国内YUM源收集

    1. 企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源镜像站:http://mirrors.163.com/ 阿里云开源站:http://mirrors.aliyu ...

  10. vm虚拟机挂载usb

    首先得保证能在VM里看到usb设备,如图