eclipse编译hadoop插件

准备

eclipse

ant1.8.0

hadoop1.2.1 src

步骤

1. 修改/home/hadoop/hadoop-1.2.1/src/contrib/build-contrib.xml

修改hadop.root值为实际的hadoop根目录
<property name="hadoop.root" location="/home/hadoop/hadoop-1.2.1"/>
添加eclipse依赖
<property name="eclipse.home" location="/home/hadoop/eclipse" />
设置版本号
<property name="version" value="1.2.1"/>
启用javac.deprecation
<property name="javac.deprecation" value="on"/>
ant 1.8+ 版本需要额外的设置javac includeantruntime=“on” 参数

2. 修改/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml

添加:

<path id="hadoop-jars">
      <fileset dir="${hadoop.root}/">
          <include name="hadoop-*.jar"/>
      </fileset>
  </path>

在classpath设置中添加
<path id="classpath">
    <pathelement location="${build.classes}"/>
    <pathelement location="${hadoop.root}/build/classes"/>
    <path refid="eclipse-sdk-jars"/>
    <!--添加下面一行-->
    <path refid="hadoop-jars"/>
  </path>
修改<target name="jar" depends="compile" unless="skip.contrib">
<target name="jar" depends="compile" unless="skip.contrib">
    <mkdir dir="${build.dir}/lib"/>
    <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-lang-2.4.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/jackson-mapper-asl-1.8.8.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/commons-httpclient-3.0.1.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>
3. 修改/home/hadoop/hadoop-1.2.1/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF


修改Bundle-ClassPath: classes

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


4. 运行ant

$ /home/hadoop/apache-ant-1.8.0/bin/ant

成功后会看到如下提示:

[jar] Building jar: /home/hadoop/hadoop-1.2.1/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-1.2.1.jarBUILD SUCCESSFULTotal time: 3 seconds



将生成的插件复制到eclipse的plugins目录下



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。