• hadoop-1.2.0 eclipse插件编译


    linux、windows下通用,亲测。

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

      1. 安装ant

        ant安装不再介绍。

      

      2. 导入hadoop eclipse插件工程

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

      3. 导入所需jar包。

        a.  将hadoop-core-*.jar(如hadoop-core-1.2.0.1.3.0.0-107.jar)拷贝到hadoop工程目录下(如D:workeclipse64hadoop-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:workeclipse64hadoop-1.2.0.1.3.0.0lib下)。
     

        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工程目录下的srccontribuild-contrib.xml(如D:workeclipse64hadoop-1.2.0.1.3.0.0srccontribuild-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,说明编译成功。

     

  • 相关阅读:
    Redis系列二 Redis数据库介绍
    Redis系列一 Redis安装
    SpringData系列四 @Query注解及@Modifying注解
    SpringData系列三 Repository Bean 方法定义规范
    SpringData系列二 Repository接口
    SpringData系列一 Spring Data的环境搭建
    ThinkPHP3.1.3 Fast & Simple OOP PHP Framework 显示错误
    STL学习系列之一——标准模板库STL介绍
    STL之二:vector容器用法详解
    STL使用总结
  • 原文地址:https://www.cnblogs.com/maybob/p/3652551.html
Copyright © 2020-2023  润新知