{{{ #!html
編譯 hadoop 0.20.1 的 eclipse plugin
Eclipse 3.3 3.4 3.5 適用
}}} [[PageOutline]] = 0. 前言 = * 從 hadoop 0.20.1 之後,contrib 資料夾下就在也找不到 eclipse-plugin 可以用了,因為作者群認為大家不是小孩子了,要自己種出東西來吃,而不是伸手要來之後又一直抱怨有瑕疵...(在這之前一直抱怨有瑕疵的就是我)。 * 此篇可以幫助大家編譯出適用於 hadoop 0.20 的 各版本 eclipse plugin (hadoop-0.20.1-eclipse-plugin.jar)出來 * 參考 http://wiki.apache.org/hadoop/EclipsePlugIn * 同 http://sites.google.com/site/waue0920/Home/hadoop/bian-yi-hadoop-eclipse-plugin = 1. 簡介 = 編譯的方法是透過java的ant來產生出打包好的jar檔,因此,工作的目錄會是 hadoop的家目錄。 然而產生出相對應的eclipse plugin 需要對應到你Eclipse的版本,因此在設定的部份,需要告訴ant的build,你現在要編譯的是哪個eclipse 之後,''' ant compile ''' ,是用來編譯, ''' ant package ''' 才會真的把檔案產生出來,產生出來的東西都會被放在 $HADOOP_HOME/build 目錄下 = 2. 安裝 = * 本篇安裝 hadoop-0.20.1 於 /opt 目錄下 (hadoop_home = /opt/hadoop-0.20.1) * 本篇安裝 eclipse 各版本套件於 /opt 目錄底下 (eclipse_home = /opt/eclipse) = 3. 設定要編譯的 Eclipse 版本 = 若你的eclipse 版本是3.3 ,可以不用設定,甚至可以直接使用 [http://hadoop-eclipse-plugin.googlecode.com/files/hadoop-0.20.1-eclipse-plugin.jar] 即可 == Eclipse 版本為 3.4 or 3.5 == * 需要改 /opt/hadoop-0.20.1/src/contrib/build-contrib.xml {{{ #!text }}} * 修改 /opt/hadoop-0.20.1/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/launch/HadoopApplicationLaunchShortcut.java {{{ #!java import org.eclipse.jdt.debug.ui.launchConfigurations.JavaApplicationLaunchShortcut; //import org.eclipse.jdt.internal.debug.ui.launcher.JavaApplicationLaunchShortcut; }}} = 4. 編譯與封裝 = {{{ $ cd /opt/hadoop-0.20.1/ $ ant compile $ ln -sf /opt/hadoop-0.20.1/docs /opt/hadoop-0.20.1/build/docs $ ant package }}} 如果沒有出錯的話,檔案出現在 /opt/hadoop-0.20.1/build/contrib/eclipse-plugin/hadoop-0.20.2-dev-eclipse-plugin.jar 或是用我編譯好的 * [raw-attachment:hadoop-0.20.1-eclipse-3.3-plugin.jar hadoop 0.20 plugin for eclipse 3.3 ] * [raw-attachment:hadoop-0.20.1-eclipse-3.4-plugin.jar hadoop 0.20 plugin for eclipse 3.4 ] * [raw-attachment:hadoop-0.20.1-eclipse-3.5-plugin.jar hadoop 0.20 plugin for eclipse 3.5 ] = 5. 使用 = 將編出來的jar檔案(看要不要改名成 hadoop-0.20.1-eclipse-plugin.jar 皆可)放到你的 /opt/eclipse/plugin 內就可以囉! 附檔是 ubuntu 9.10 搭配 eclipse 3.5 + 剛編出來熱呼呼的 eclipse - plugin 套件的截圖,有圖有真相 ------ [[Image(1.png)]] ------ [[Image(2.png)]] ------ [[Image(3.png)]] ------ [[Image(5.png)]] ------ * ps : 如果你的eclipse 的 run as -> run on hadoop 功能按了還是沒有反應的話,請先執行 run as -> java application ,再 run as -> run on hadoop 就可以了 * ps : 如果你的作業系統是 ubuntu 9.10 ,在上面用 eclipse 會有按鈕無法響應的情況,這是ubuntu libgtk的問題,可以按照此篇解決 [http://mou.me.uk/2009/10/31/fixing-eclipse-in-ubuntu-9-10-karmic-koala/]