我使用的是hadoop-2.7.7,由于自学一切都的自己来,这次是编译一个eclipse 插件为hadoop测试用
编译环境:
JDK配置 ;
安装Eclipse (最新的eclipse 有一定问题 我这用的分享给大家链接:https://pan.baidu.com/s/128JqQc8nqRC1YI6hm6xk9A 密码:g51c )
安装ant 参考:https://www.cnblogs.com/huangchanghuan/p/6597741.html 安装包(链接:https://pan.baidu.com/s/1XlGTl2tvzeSUI6wrt0ZsKw 密码:v0q4)
下载hadoop二进制包(hadoop-2.7.7.tar.gz)我这是用自己在win下编译的https://download.csdn.net/download/qq_32961893/10720328 官网下载的hadoop-2.7.7.tar.gz未测试
下载 hadoop2x-eclipse-plugin-master 官网地址:https://github.com/winghc/hadoop2x-eclipse-plugin
我用的版本链接:https://pan.baidu.com/s/10BUxbKW2WzM14PJlnc5FpQ 密码:sa71
编译:运行CMD,切换到XX\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin
也可以在XX\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin目录下按住shift+鼠标右键在此处打开命令窗口
执行编译,命令如下:
ant jar -Dversion=2.7.7 -Dhadoop.version=2.7.7 -Declipse.home=D:\eclipse -Dhadoop.home=E:\hadoop\hadoop-2.7.7
Dversion=Dhadoop.version --要编译的hadoop版本
Declipse.home=D:\eclipse eclipse所在位置
Dhadoop.home=E:\hadoop\hadoop-2.7.7 解压hadoop源码位置
执行等待一个漫长的过程
可能报错缺包体之类的
你可以看XX\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin下的build.xml文件配置
这些地方去E:\hadoop\hadoop-2.7.7\share\hadoop\common\lib中去找对应jar包修改build.xml配置我最重修改的build.xml
黏贴出来:`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<include name="org.eclipse.team.cvs.ssh2*.jar"/>
<include name="com.jcraft.jsch*.jar"/>
</fileset>
<copy todir="${build.dir}/classes" verbose="true">
<fileset dir="${root}/src/java">
<include name="*.xml"/>
</fileset>
</copy>
<copy file="${hadoop.home}/share/hadoop/common/lib/protobuf-java-${protobuf.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/log4j-${log4j.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-configuration-${commons-configuration.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-lang-${commons-lang.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-collections-${commons-collections.version}-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/jackson-core-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/jackson-mapper-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/slf4j-log4j12-${slf4j-log4j12.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/slf4j-api-${slf4j-api.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/guava-${guava.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/hadoop-auth-${hadoop.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/netty-${netty.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
<jar
jarfile="${build.dir}/hadoop-${name}-${hadoop.version}.jar"
manifest="${root}/META-INF/MANIFEST.MF">
<manifest>
最后编译出来的结果在E:\hadoop\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin中,将hadoop-eclipse-plugin-2.7.7.jar拷贝到eclipse的D:\eclipse\plugins中即可使用