hadoop的eclipse插件的編譯

最近一段時間都在學習hadoop,下載的是1.2.1的版本,包括源碼;發如今該版本的安裝目錄下再也不提供eclipse的插件包;可是在src/contrib目錄下依然有eclipse-plugin的目錄用於提供插件的源碼,以及對應的Ant使用的build.xml文件; apache

爲了開發Map/Reduce程序的方便,決定本身進行hadoop的eclipse-plugin的打包操做,打包的步驟以下: app

PS:本次編譯打包,使用的JDK: 1.6 ; eclipse : 4.2 ; hadoop : 1.2.1 eclipse

a.修改src/constrib 目錄下的 build-contrib.xml 文件 oop

增長:<property name="eclipse.home" value="D:/eclipse-jee-juno-SR2-win32/eclipse" /> 學習

這個表示設定 eclipse.home的參數; ui

緣由:在 src/constrib/eclipse-plugin目錄下的build.xml 中有用到 eclipse.home的參數; spa

而 eclipse-plugin目錄下的build.xml 中引用的參數都在 build-contrib.xml文件中定義; 插件

b.修改 build.xml(src/contrib/eclipse-plugin)文件 xml

b.1. 增長 hadoop-jars的 path 設定; ip

若是沒有增長這一段,那麼在 compile階段,會致使 沒法找到 org.apache.hadoop.hdfs包下的類(甚至還有其它的一些類);

1
2
3
4
5
<pathid="hadoop-jars">
<filesetdir="${hadoop.root}/">
<includename="hadoop-*.jar"/>
</fileset>
</path>

b.2 在classpath中增長 hadoop下的lib 和 hadoop-jars的設置;

以下圖中 標紅色的部分;

b.3 在target name="jar"部分中,增長引入的jar包;

以下圖所示:表示將這些包都加入生成的jar包中,包括:hadoop-core-1.2.1.jar ,common-cli-1.2.jar, common-lang-2.4.jar, common-configuration-1.6.jar, jackson-mapper-asl-1.8.8.jar,jackson-core-asl-1.8.8.jar, commons-httpclient-3.0.1.jar;

另外,因爲咱們這裏沒有設定 version 的參數,因此在 <jar jarfile = .........-${version}.jar 這段的時候,因爲參數不能解析,將致使生成的文件名稱直接就是:hadoop-eclipse-plugin-${version}.jar,建議修改生成文件名;

c.執行 bulid.xml

使用 Ant Build 的方式執行 build.xml 文件;

d.使用 hadoop-eclipse-plugin的方法

將生成的 eclipse的插件複製到eclipse 目錄下的 plugin 目錄下,然後重啓 eclipse ; 在 window -- > Preferences 中能夠看到 hadoop map/reduce的相關配置;

另外,在新建工程的時候也有:Map/Reduce Project

相關文章
相關標籤/搜索