1. 下载Ant,apache-ant-1.9.7-bin.zip,需要下载以前的版本可点击。 
    • 1.1 解压文件到一个目录,配置相应的环境变量 
      ANT_HOME=E:\Program Files (x86)\apache-ant-1.9.7 
      PATH=原路径;%ANT_HOME%\bin;
    • 1.2 验证是否安装成功ant -version 
      Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件
  2. 下载Hadoop,这里选择2.6.4版本,即搭建伪分布式环境的版本 
    由于编译hadoop的eclipse插件需要hadoop相应的jar包,需要有hadoop的安装文件。将hadoop-2.6.4.tar.gz文件解压至本地目录下,也可以是自己编译过后的hadoop文件(hadoop版本是在32位下打包,可编译成64位版本的)。 
    注:hadoop文件存放目录不要带有空格,不然编译不成功;在Windows系统下开发hadoop程序,hadoop文件安装目录也不能带有空格。
  3. 下载Eclipse,解压缩到本地目录下 
    注:在用Ant编译hadoop-eclipse-plugin-2.x时需要Eclipse的安装目录,Eclipse文件安装目录也不能带有空格。 
    编译好hadoop-eclipse-plugin-2.x.jar插件后,可以重新将Eclipse安装目录拷贝到自己想要的目录下。
  4. 下载hadoop2x-eclipse-plugin-master.zip,将文件解压缩到本地目录下
  5. 通过命令行cmd进入到..\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin目录下,或者直接在这个目录下按住Shift+鼠标右键,选择在此处打开命令窗口 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    执行命令 
    ant jar -Dversion=2.6.4 -Declipse.home=E:\ProgramFiles\eclipse -Dhadoop.home=F:\data\hadoop-2.6.4 
    或者 
    ant jar -Dhadoop.version=2.6.4 -Declipse.home=E:\ProgramFiles\eclipse -Dhadoop.home=F:\data\hadoop-2.6.4 
    -Dversion,-Dhadoop.version都表示的是hadoop的版本 
    -Declipse.home表示的是eclipse的安装目录,就是需要使用的eclipse的目录 
    -Dhadoop.home表示的是hadoop的目录   
  6. 执行命令会发现一直停在ivy-resolve-common处一直不动 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    ​ 出现这个问题的原因是执行上面的命令的时候,会查找相应的jar包,若没有的会一直停在那里,但实际上编译hadoop-eclipse-plugin并不需要common相关的包。 
    解决:修改执行命令行目录(即..\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin)下的build.xml文件,找到:<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">对应的行, 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件
    去掉depends=”init, ivy-retrieve-common” 修改为<target name="compile" unless="skip.contrib">
  7. 在cmd命令行中Ctrl+C,输入Y终止批处理操作 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    再次执行ant jar命令,提示copy不到相关jar包的错误 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    这个问题的原因是..\hadoop2x-eclipse-plugin-master\ivy目录下的libraries.properties文件中的jar包的版本找不到,因为对应的是在hadoop2.6.4版本下编译,该阶段是将hadoop主目录下的jar包复制到插件当中,因此需要修改jar的版本。 
      解决:修改..\hadoop2x-eclipse-plugin-master\ivy\libraries.properties文件,将报错的jar包版本号更换成与hadoop安装目录\share\hadoop\common\lib下的jar对应的版本号。 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    hadoop2.6.4版本只修改了hadoop.version以及commons-collections.version就成功了,如果执行仍然提示copy不到相关jar包的错误,可以根据提示修改对应版本号。
  8. 执行命令,此时编译成功 
    Windows下使用Ant编译hadoop-eclipse-plugin-2.x插件 
    生成的插件在..\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin目录下,如图BUILD SUCCESSFUL上一句也可以看到插件包生成的目录。

此时hadoop-eclipse-plugin-2.6.4.jar编译成功。

相关文章: