Ubuntu 12.04環境中編譯Hadoop-eclipse-plugin-1.0.4.jar包。
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://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2013年資料/1月/16日/Ubuntu 12.04上編譯hadoop-eclipse-plugin-1.0.4.jar包/
注:其它版本的編譯辦法也可以通過以上步驟實現。