Ubuntu12.04上编译hadoop-eclipse-plugin-1.0.4.jar包

来源:互联网 发布:线割编程留暂停点 编辑:程序博客网 时间:2024/04/29 00:58

1、在Eclipse中选择File-->Import-->Existing Projects into Workspace导入已有项目,假设路径为:

$HADOOP_HOME/src/contrib/eclipse-plugin,其默认的项目名称是MapReduceTools。导入后因为找不到hadoop-core.jar包,所以项目上有红色感叹号,不用管它【后面lib包加入后会消失】

 

2、默认项目名称为MapReduceTools,然后在项目MapReduceTools中新建lib目录,先将hadoop下的hadoop-core-1.0.4.jar重命名为hadoop.core.jar,并把hadoop.core.jar、及其lib目录下的commons-cli-1.2.jar、commons-lang-2.4.jar、commons-configuration-1.6.jar、jackson-mapper-asl-1.8.8.jar、jackson-core-asl-1.8.8.jar、commons-httpclient-3.0.1.jar拷贝到该目录。

 

3、将$HADOOP_HOME/src/contrib/build-contrib.xml(也就是与eclipse-plugin包在同一级目录)拷贝到eclipse项目目录中,并修改build-contrib.xml,将属性hadoop.root,eclipse.home换为本机电脑上的存放目录。并修改当前使用的hadoop版本号。eg:


  <property name="hadoop.root" location="/home/hadoop/Downloads/hadoop-1.0.4"/>
  <property name="eclipse.home" location="/home/hadoop/Downloads/eclipse" />

  <property name="version" value="1.0.4"/>

 

4、修改build.xml

  <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>

 

5、修改META-INF/MANIFEST.MF文件,添加lib目录下的jar包

     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


6、右键选择项目-->Export,类型选择JAR file,把plugin.xml文件、classes目录、lib目录和resources目录选上,选择导出的jar目录,【导出时注意,要选择using exsiting manifest from workspace (也就是要选择刚配置上一步配置那个文件),而不要选择新创建manifest文件】,即可导出hadoop-eclipse-plugin-1.0.4.jar文件。此处我在导出时,hadoop-eclipse-plugin-1.0.4.jar中编译好的类文件并没有包含在classes目录中【其中并没有classes目录】,所以先创建一个classes目录,将已编译好的类文件剪切进classes目录。

 

6、经过以上几步,生成的hadoop-eclipse-plugin-1.0.4.jar包便可以使用了。再把该文件放到eclipse/plugin目录下面,重启eclipse。

这是我编译好的插件:http://pan.baidu.com/share/link?shareid=192371&uk=1141105618

注:其它版本的编译办法也可以通过以上步骤实现。


参考资料:http://zhengzhuangjie.iteye.com/blog/1557734

原创粉丝点击