编译hadoop1.0.1的eclipse插件

一、环境:

hadoop版本1.0.1

eclipse版本Indigo3.7.1 Release

windows 7 64 位

 

首先下载hadoop和eclipse就不说了

hadoop地址是在http://hadoop.apache.org/common/releases.html

笔者下载的版本是,这个版本包含了源码,和编译好的库

[   ] hadoop-1.0.1.tar.gz 14-Feb-2012 16:49 58M

eclipse 工作区在D:\Workspace2

 

二、步骤

1.把hadoop-1.0.1.tar.gz解压,解压后copy到eclipse的工作区中,选择eclipse的import将工程导入工作区,导入时选择根目录就行了,eclipse会自动搜索到工程。如下图所示

2.导入完成后工程如下图所示

这时候工程会有一些错误,主要是找不到hadoop-core-1.01.jar文件,这个文件就在hadoop的根目录下,然后导入即可

 

3 设置build.xml的参数

${workspace_loc:/MapReduceTools}

 

-Declipse.home=D:\eclipse -Dversion=1.0.1 -Dbuild.dir=D:\workspace2\hadoop-1.0.1\src\contrib\eclipse-plugin

第一个参数eclipse.home是eclipse的安装目录位置,第二个参数是写hadoop的版本号,此版本是1.01,第三个参数是编译插件的目录,大家根据自己的工作区位置修改就行了。

 

4. 修改build.xml文件为

<project default="jar" name="eclipse-plugin">

	<import file="../build-contrib.xml"/>

	<path id="eclipse-sdk-jars">
		<fileset dir="${eclipse.home}/plugins/">
			<include name="org.eclipse.ui*.jar"/>
			<include name="org.eclipse.jdt*.jar"/>
			<include name="org.eclipse.core*.jar"/>
			<include name="org.eclipse.equinox*.jar"/>
			<include name="org.eclipse.debug*.jar"/>
			<include name="org.eclipse.osgi*.jar"/>
			<include name="org.eclipse.swt*.jar"/>
			<include name="org.eclipse.jface*.jar"/>

			<include name="org.eclipse.team.cvs.ssh2*.jar"/>
			<include name="com.jcraft.jsch*.jar"/>
		</fileset>
	</path>

	<!-- Override classpath to include Eclipse SDK jars -->
	<path id="classpath">
		<pathelement location="${build.classes}"/>
		<pathelement location="${hadoop.root}/build/classes"/>
		<path refid="eclipse-sdk-jars"/>
	</path>

	<!-- Skip building if eclipse.home is unset. -->
	<target name="check-contrib" unless="eclipse.home">
		<property name="skip.contrib" value="yes"/>
		<echo message="eclipse.home unset: skipping eclipse plugin"/>
	</target>

	<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
		<echo message="contrib: ${name}"/>
		<javac
     encoding="${build.encoding}"
     srcdir="${src.dir}"
     includes="**/*.java"
     destdir="${build.classes}"
     debug="${javac.debug}"
     deprecation="${javac.deprecation}">
			<classpath refid="classpath"/>
		</javac>
	</target>

	<!-- Override jar target to specify manifest -->
	<target name="jar" depends="compile" unless="skip.contrib">
		<mkdir dir="${build.dir}/lib"/>
		<copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
		<copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
		<jar
      jarfile="${build.dir}/hadoop-${name}-${version}.jar"
      manifest="${root}/META-INF/MANIFEST.MF">
			<fileset dir="${build.dir}" includes="classes/ lib/"/>
			<fileset dir="${root}" includes="resources/ plugin.xml"/>
		</jar>
	</target>

</project>

 

5. 在build.xml文件上右键运行eclipse的ant build进行编译,编译完成后如下图所示,插件的位置就在目录D:\workspace2\hadoop-1.0.1\src\contrib\eclipse-plugin中了

 

三、笔者在编译的过程中遇见这种错误

com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre6"

原因是系统内的JDK版本混乱,不知道该去找哪一个,

解决方法是把JDK安装目录中的lib目录下,的tools.jar文件拷贝到jre6/lib目录下

该插件下载地址:经测试该插件适合eclipse3.7和3.8版本

http://download.csdn.net/detail/shuangtaqibing/4461472

 

四、编译好插件,将插件copy到Eclipse安装目录下的plugins目录,然后重启eclipse就完成安装了

具体在此插件下Eclipse下开发Hadoop mapreduce程序(词频统计程序)详见这篇文章

 http://blog.csdn.net/shuangtaqibing/article/details/7805058

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值