win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)

题记:每次干一件事儿就像打仗似的,编译个插件也花了我一天的时间,虽然有几个钟头在帮一个初中生做数学题。又是东找西找,看的一头雾水,最后还是一点一点试。

环境:
OS:win7 x64
Eclipse Java EE IDE for Web Developers:Juno Service Release 1 (4.2)
JDK:1.7.0_11
Hadoop:1.0.4

编译记录:
1. 在eclipse里新建一个Java Project,名字如hadoop-1.0.4-eclipse-plugin;

2. 下载并解压hadoop-1.0.4.tar.gz,将解压目录里srccontribeclipse-plugin下所有文件和srccontrib目录下的build-contrib.xml拖拽到项目中,将hadoop解压目录下的所有jar文件拖拽到eclipse项目中bin目录下。

3. 修改Project中的build-contrib.xml文件:
找到
   修改为
   并在其下面加入:
         
              
   注意:目录的斜杠方向,格式如下图。win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)

4. 修改Project中的build.xml文件:
如下图修改为win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)
里如下图加入includeantruntime="on"
win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)
中如下图添加:
win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)
todir="${build.dir}/lib" verbose="true"/>下如下图添加:
        todir="${build.dir}/lib" verbose="true"/>
todir="${build.dir}/lib" verbose="true"/>
todir="${build.dir}/lib" verbose="true"/>
todir="${build.dir}/lib" verbose="true"/>
        todir="${build.dir}/lib" verbose="true"/>
win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)
在文件末尾如下图添加:
     
         
           
          
   
win7下编译Hadoop-1.0.4-eclipse-plugin插件(编译记录)

5. 在hadoop的解压目录下,复制两个jar文件,如果没有目录就在解压目录中新建这些目录,分别是:hadoop-core-1.0.4.jar 到 uildhadoop-core-1.0.4.jar;libcommons-cli-1.2.jar到uildivylibHadoopcommoncommons-cli-1.2.jar

6. 在META-INF下的MANIFEST.MF文件中按如下添加:
Bundle-ClassPath: classes/,
 lib/hadoop-core.jar,
 lib/commons-cli-1.2.jar, 
 lib/commons-configuration-1.6.jar,
 lib/commons-httpclient-3.0.1.jar,
 lib/commons-lang-2.4.jar 
 lib/jackson-core-asl-1.8.8.jar,  
 lib/jackson-mapper-asl-1.8.8.jar 

7. 右击build.xml选择 Run As Ant Build,编译成功,生成的hadoop-1.0.4-eclipse-plugin.jar在hadoop解压目录uildcontribeclipse-plugin下面。

8. 把hadoop-1.0.4-eclipse-plugin.jar文件放到eclipse安装目录的plugins中,重启eclipse,会在Window→Open Perspective→Other里,看到大象图标的Map/Reduce出现。我原本生成的jar文件名是hadoop-eclipse-plugin-1.0.4.jar,这个放进去重启eclipse没有反应,于是改成了如上的名字,就能直接看到了,中间版本号是可变的,其他的顺序可能是固定的。悲催的是,当我换装了Juno SR2的版本,hadoop-eclipse-plugin-1.0.4.jar这个文件名也木有问题哦。

后记:以上方法在本尊的电脑上试验成功,不代表在亲的电脑上一样哦~~~还是一句话,要成功,请多方参考,况且这只是编译,我还没试过使用jar包呢。

2013年4月18日记:试了好多次,都没办法正常的使用这个编译的插件,总是出现Connecting to DFS失败的错误提示,说缺少StringUtils.class,但事实上jar包里是有的。不过渐渐地发现eclipse有个问题,好比说,我一开始使用了1.0.4版本的hadoop插件,后来更换了1.0.3版本,eclipse就没办法再认出来。后来我换成了eclipse3.7.2(indigo)和hadoop1.0.0,插件是别人编译的。但是第一次使用的插件包是没有configuration等几个jar文件的,这个报错无可厚非,后来更换了完整的jar包,仍然报同样的错误"Connecting to DFS hadoop". org/apache/commons/configuration/Configuration。所以我重新捣腾了eclipse,换了个workspace的地方,让所有的配置回归本原,再用后来的插件包,总算是成功了。可惜,我在eclipse4.2(Juno)和hadoop1.0.4上用同样的方法没有成功,还是说缺少StringUtils.class。
请使用浏览器的分享功能分享到微信等