我的eclipse是helios版本, 编译过程大概说下:
- 创建一个新的eclipse项目,拷贝hadoop-0.20.2-cdh3u1\src\contrib\eclipse-plugin到你的项目根目录
- 拷贝hadoop-0.20.2-cdh3u1\src\contrib\build-contrib.xml到项目根目录
- 修改build.xml文件:
- <import file="../build-contrib.xml"/> 修改为: <import file="./build-contrib.xml"/>
- 添加一行,设置你的eclipse目录<property name="eclipse.home" location="D:/Java/eclipse-helios" />
- 设置hadoop版本号,生成jar文件名字用到。<property name="version" value="0.20.2-cdh3u1" />
- 修改classpath,添加了cdh的jar文件:
<path id="classpath">
<pathelement location="${build.classes}"/>
<pathelement location="${hadoop.root}/build/classes"/>
<path refid="eclipse-sdk-jars"/>
<fileset dir="D:/Dev/hadoop-0.20.2-cdh3u1/">
<include name="*.jar"/>
</fileset>
</path>
- 修改jar target,保证下面两个jar包可以找到,并可以正确打包到jar包里就行,下面是我的写法:
<copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
- 运行ant jar,编译好的jar文件会出现在“hadoop-0.20.2-cdh3u1\build\contrib\eclipse-plugin”。
附件是我编译好的jar文件。
-- end --