编译-集成hadoop-eclipse-plugin到eclipse

馋奶兔 提交于 2020-08-11 18:13:46

0),软件准备
以下软件无特殊说明均为windows平台
hadoop2.7.5
jdk1.8
eclipse任意版本 windows平台
hadoop2x-eclipse-plugin包下载自github(如果太慢可以将项目克隆至码云再下载)
ant-1.10.7





1),编译准备
修改hadoop2x-eclipse-plugin解压目录中src\contrib\eclipse-plugin\build.xml。
<path id="eclipse-sdk-jars">

<fileset dir="C:\Users\Administrator\.p2\pool\plugins"> 该目录为eclipseui资源目录可在eclipse\configuration中通过config.ini查看具体目录

<target name="compile" depends="ivy-init,ivy-resolve-common" unless="skip.contrib">将属性depends删除
然后在 javac 标签中加上 includeantruntime="on"

找到copy标签然后添加以下3行:
<copy file="${hadoop.home}/share/hadoop/common/lib/servlet-api-${servlet-api.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/commons-io-${commons-io.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"/>


进入hadoop2x-eclipse-plugin解压目录中src\contrib\eclipse-plugin目录。
修改hadoop2x-eclipse-plugin解压目录中ivy\libraries.properties。
hadoop.version : hadoop版本号。
apacheant.version : ant版本号。
netty.version : hadoop包中对应文件的版本号。
commons-io.version : hadoop包中对应文件的版本号。
servlet-api.version : hadoop包中对应文件的版本号。





2),开始编译
执行ant jar -Dversion=2.7.5 -Declipse.home=D:\eclipse -Dhadoop.home=G:\codeprogram\hadoop-2.7.5
-Dversion:插件版本。
-Declipse.home:eclipse安装目录。
-Dhadoop.home:hadoop解压目录。
根据copy报错修改hadoop2x-eclipse-plugin解压目录中ivy\libraries.properties的对应版本号。
copy标签需要和libraries.properties版本中的资源对应。






3),引入插件
编译成功后插件生成,根据命令行中的提示目录将插件复制到eclipse目录下的dropins和plugins目录后重启eclipse即可。

报错总结:
0 高版本的eclipse(我目前的是2018年的版本还没更新)自身的插件包地址在配置文件中,需要修改‘fileset’为指定地址否则会出现javac编译出错或者找不到eclipse对应包。

1 ivy-resolve-common卡死实际为从maven库下载对应包到资源库中在命令后加上-debug可以查看下载进度如只需编译该插件则删去对应属性即可

2 copy标签查找版本号以解压目录根目录下的ivy\libraries.properties优先

3 高版本eclipse需要将插件复制到eclipse目录下的dropins和plugins目录否则插件引入失败

lib配置
hadoop.version=2.7.5
hadoop-gpl-compression.version=0.1.0

#These are the versions of our dependencies (in alphabetical order)
apacheant.version=1.10.6
ant-task.version=2.0.10

asm.version=3.2
aspectj.version=1.6.5
aspectj.version=1.6.11

checkstyle.version=4.2

commons-cli.version=1.2
commons-codec.version=1.4
commons-collections.version=3.1
commons-configuration.version=1.6
commons-daemon.version=1.0.13
commons-httpclient.version=3.0.1
commons-lang.version=2.6
commons-logging.version=1.0.4
commons-logging-api.version=1.0.4
commons-math.version=2.1
commons-el.version=1.0
commons-fileupload.version=1.2
commons-io.version=2.1
commons-net.version=3.1
core.version=3.1.1
coreplugin.version=1.3.2














hsqldb.version=1.8.0.10

ivy.version=2.1.0

jasper.version=5.5.12
jackson.version=1.8.8
#not able to figureout the version of jsp & jsp-api version to get it resolved throught ivy
# but still declared here as we are going to have a local copy from the lib folder
jsp.version=2.1
jsp-api.version=5.5.12
jsp-api-2.1.version=6.1.14
jsp-2.1.version=6.1.14
jets3t.version=0.6.1
jetty.version=6.1.26
jetty-util.version=6.1.26
jersey-core.version=1.8
jersey-json.version=1.8
jersey-server.version=1.8
junit.version=4.5
jdeb.version=0.8
jdiff.version=1.0.9
json.version=1.0
















kfs.version=0.1

log4j.version=1.2.15
lucene-core.version=2.3.1

mockito-all.version=1.8.5
jsch.version=0.1.42

oro.version=2.0.8

rats-lib.version=0.5.1

servlet.version=4.0.6
servlet-api.version=2.5
slf4j-api.version=1.4.3
slf4j-log4j12.version=1.4.3


wagon-http.version=1.0-beta-2
xmlenc.version=0.52
xerces.version=1.4.4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!