在Linux编译hadoop-eclipse-plugin-2.7.7.jar遇到的问题

参考https://www.whst.com.cn/xinli/20190126_2222.html(侵删)

1. 安装ant

apt-get install ant

命令执行完后,查看ant 版本 ant –version

2.下载linux版本的eclipse (我下载的为 eclipse-committers-photon-R-linux-gtk-x86_64.tar.gz),上传至服务器 /hadoop/ 并进行解压

cd /hadoop/

tar zxvf eclipse-committers-photon-R-linux-gtk-x86_64.tar.gz

3. 下载hadoop2x-eclipse-plugin 下载地址https://github.com/winghc/hadoop2x-eclipse-plugin/tree/v2.6.0

4. 上传hadoop2x-eclipse-plugin-master.zip 至服务器目录 /hadoop/ 并且解压

cd /hadoop/

unzip hadoop2x-eclipse-plugin-master.zip (这里如果没有安装 unzip ,使用命令 apt-get install unzip来进行安装)

cd /hadoop/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin/

修改build.xml,具体修改如下:

将 127行的

<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.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"/>

并在下面添加两行

<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"/>

将 157 行的

lib/htrace-core-${htrace.version}.jar"/>

替换为:

lib/htrace-core-${htrace.version}-incubating.jar"/>

在157行上添加两行

lib/servlet-api-${servlet-api.version}.jar,

lib/commons-io-${commons-io.version}.jar,

build.xml修改完成。

接下来修改 /hadoop/hadoop2x-eclipse-plugin-master/ivy/libraries.properties 文件

将 hadoop.version=2.6.0 替换为hadoop.version=2.7.7

将commons-collections.version=3.2.1 替换为commons-collections.version=3.2.2

将commons-httpclient.version=3.0.1 替换为commons-httpclient.version=3.1

将commons-io.version=2.1 替换为commons-io.version=2.4

将htrace.version=3.0.4 替换为htrace.version=3.1.0

将slf4j-api.version=1.7.5 替换为slf4j-api.version=1.7.10

将slf4j-log4j12.version=1.7.5 替换为 slf4j-log4j12.version=1.7.10

libraries.properties修改完成

libraries.properties文件中不知道修改哪个版本,可以先放到服务器上来执行 ant 命令,在命令执行的过程中,命令行会输出如下错误:

能看出错误,找不到相关jar包,具体应该改成哪个版本的jar包,可以到hadoop的安装目录找相关版本,我的安装目录为

/hadoop/hadoop-2.7.7/share/hadoop/common/lib/

具体的来编译:

cd /hadoop/hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin/

ant jar -Dhadoop.version=2.7.7 -Declipse.home=/hadoop/eclipse -Dhadoop.home=/hadoop/hadoop-2.7.7

(-Declipse.home 指到eclipse的解压目录 ,-Dhadoop.home 指到hadoop的安装目录 )

linux环境下编译hadoop-eclipse-plugin-2.7.7.jar

编译成功后,可以找到hadoop2x-eclipse-plugin的目录中多了一个build目录 ,然后在子目录contrib 中的子目录eclipse-plugin就可以看到编译好的 hadoop-eclipse-plugin-2.7.7.jar

我的文件具体位置为: /hadoop/hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin/hadoop-eclipse-plugin-2.7.7.jar

将编译好的 jar包放到 windows中eclipse安装目录 的plugins 文件夹下,重启eclipse

重启后,打开eclipse就可以看到如下变化。

linux环境下编译hadoop-eclipse-plugin-2.7.7.jar

linux环境下编译hadoop-eclipse-plugin-2.7.7.jar
但是在实际操作中,libraries.properties的更改并不有效,所以直接在bulid.xml中将类似于${htrace.version}的内容替换为本地的版本号,例如:
<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-${htrace.version}-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
及
lib/htrace-core-${htrace.version}.jar

改为:

<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core-3.1.0-incubating.jar" todir="${build.dir}/lib" verbose="true"/>
及
lib/htrace-core-3.1.0.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值