參考http://blog.csdn.net/yundixiaoduo/article/details/7451753
其實直接看這位大哥的blog即可,說的很詳細,測試也OK。寫下來只是我想記錄下~
1、解壓Hadoop 1.0.4。不知到為什麼現在原始碼裡邊build好的contrib已經沒有eclipse的外掛程式了,得自己編譯……
2、在Eclipse裡邊建立一個java project,普通的就行
3、把解壓出來的Hadoop裡面的scr下 eclipse-plugin全部拖進去
對,就是這些,直接拖到剛才建立的工程中
4、上一級目錄裡面的build.xml也要放到工程裡面~
5、配置編譯路徑,因為我是ubuntu的系統,所以直接配置如下,在項目下右鍵Build path->Configure Build Path->Add Library->Eclipse Plugin Dependencies->next->finish
6、build-contrib.xml如下。
<property name="hadoop.root" location="/home/himiko/Downloads/hadoop-1.0.4"/> <property name="eclipse.home" location="/home/himiko/ProgramFiles/eclipse"/> <property name="version" value="1.0.4"/>
注意這幾個按照你自己的寫!!!!
<project name="hadoopbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant"> <property name="name" value="${ant.project.name}"/> <property name="root" value="${basedir}"/> <property name="hadoop.root" location="/home/himiko/Downloads/hadoop-1.0.4"/> <property name="eclipse.home" location="/home/himiko/ProgramFiles/eclipse"/> <property name="version" value="1.0.4"/>
7、buid.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="build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" tofile="${build.dir}/lib/commons-configuration-1.6.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" tofile="${build.dir}/lib/commons-httpclient-3.0.1.jar" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-core-asl-1.8.8.jar" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-mapper-asl-1.8.8.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-lang-2.4.jar" tofile="${build.dir}/lib/commons-lang-2.4.jar" 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>
注意紅字那行是加入的
project default="jar" name="eclipse-plugin"><import file="build-contrib.xml"/>
注意紅字部分為修改的
最後在該檔案結束之前加上如下代碼
<path id="hadoop-jars"> <fileset dir="${hadoop.root}/"> <include name="hadoop-*.jar"/> </fileset> </path>
8、複製兩個沒有的jar包到解壓出hadoop的檔案夾下,名字和路徑如下,沒有檔案夾就建立,build就是建立的檔案夾…………
commons那個jar包在解壓出來的lib中
9、修改META-INF中的檔案如下
Bundle-ClassPath: classes/, lib/hadoop-core.jar, lib/commons-cli-1.2.jar, lib/commons-configuration-1.6.jar, lib/ jackson-core-asl-1.8.8.jar, lib/commons-httpclient-3.0.1.jar, lib/jackson-mapper-asl-1.8.8.jar, lib/commons-lang-2.4.jar,
build.xml上右鍵,run as ant Build
10、編譯成功後
將這個jar包拷貝到Eclipse外掛程式目錄下
編譯好的已經上傳~~~
配置好的: