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. linux系统更改目录和文件的权限总结

    对于属于你的文件,可以按照自己的需要改变其权限位的设置.在改变文件权限位设置之前,要仔细地想一想有哪些用户需要访问你的文件(包括你的目录).可以使用c h m o d命令来改变文件权限位的设置.这一命 ...

  2. 第三方登录(2)Android客户瑞上第三方登录百度教程

    1,在 http://developer.baidu.com/  注册成开发者 不注册看不到开发相关的链接地址.点自己的用户名,在弹出菜单显示有 <用户中心> ,没有就是没注册. 2,找到 ...

  3. PHP包含文件函数include、include_once、require、require_once区别总结

    一.使用语法和简介 1.include() 语法:include(/path/to/filename)include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件 ...

  4. leetcode Database3(Nth Highest Salary<—>Consecutive Numbers<—>Department Highest Salary)

    一.Nth Highest Salary Write a SQL query to get the nth highest salary from the Employee table. +----+ ...

  5. java 名词解释等

    类 实例 引用 实质指针 封装 for 的不同形式 for (int i : Location) 集合类 ArrayList<Egg> = new ArrayList<Egg> ...

  6. How can I work smarter, not just harder? Ask it forever

    How can I  work smarter, not just harder? 记住,永远要问自己这个问题.当你发现在做一件事情时,总是那么的繁琐无味,那么一定是出了什么问题. 如果一味地强调更加 ...

  7. bzoj4199

    看到这题我就伤心,当初想到了正解却因为各种sb原因没有写…… 好吧,其实我的正解是比较挫的…… 大家似乎都用了后缀数组,我用了后缀自动机(后缀树) 其实SAM是很好想得,用SAM建出后缀树后 我们考虑 ...

  8. quartz的触发器CronTriggerBean 配置

    一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年:其中年不是必须的,也就是说任何一个表达式最少需要六项!  ...

  9. 51nod1486 大大走格子

    容斥定理+dp...妈呀#1rp耗尽了难怪最近那么衰... #include<cstdio> #include<cstring> #include<cctype> ...

  10. wordpress plugins collection

    1/ simple page ordering 4.8星 wordpress的plugins唯一的好处就是命名简单易懂,这款插件从名称就可以看出来,用来对page页面排序的.只需要在后台page中拖拽 ...