编译一个hadoop eclipse插件: hadoop1.0.4中eclipse-plugin的jar包

我们有两种方式:1)ant方式;2)在eclipse里面做

我用ant方式:

第一步:编辑/home/yangze/newdisk/soft/hadoop-1.0.4/src/contrib/下的build-contrib.xml文件:

注:上面蓝色的路径,是看官电脑上hadoop的安装目录。

我们要在这个文件里面添加version和eclipse.home两个属性,在后面我们会用到这两个变量:

hadoop.root  改成自己的hadoop路径

image

第二步:编辑/home/yangze/newdisk/soft/hadoop-1.0.4/src/contrib/eclipse-plugin/下的build.xml文件:

这个文件要改动几个地方:

1)添加hadoop-jars path,并同时加入到classpath中:

image

2)设置includeantruntime=on,防止compile时报warning:

image

3) 添加将要打包到plugin中的第三方包列表:

替换

<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>

为:

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

image 

 

第三步:修改MANIFEST.MF文件。

注:这步在之前参考的网页里面没有,但事实证明,为了避免不必要的麻烦,最好按我说的改一下。

文件路径是/home/yangze/newdisk/soft/hadoop-1.0.4/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF

主要是修改Bundle-ClassPath

Bundle-ClassPath: classes/,lib/hadoop-core.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, lib/commons-httpclient-3.0.1.jar

修改好了之后,进行第四步。

 

第四步:执行ant命令:

注意:要吧目录切换到/home/yangze/newdisk/soft/hadoop-1.0.4/src/contrib/eclipse-plugin/下执行ant命令。

 

就成功了

image

您可以选择一种方式赞助本站