由于在eclipse下开发hadoop 程序需要插件支持,而且hadoop报下已经没有插件了,所以需要我们自己编译,操作步骤如下
1.进入D:\hadoop-1.2.1\src\contrib目录,找到build-contrib.xml文件 ,将hadoop.root改为hadoop解压目录。
<property name="hadoop.root" location="D:\hadoop-1.2.1"/>
在下面添加如下两行:Eclipse安装根目录,和hadoop版本。
<property name="eclipse.home" location="D:\eclipse"/>
<property name="version" value="1.2.1"/>
2. 修改 D:\hadoop-1.2.1\src\contrib\eclipse-plugin下的build.xml文件 (红色部分为新增)
<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-1.2.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.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>
找到<path id="classpath">标签,下面加入
<pathelement location="${hadoop.root}/hadoop-core-1.2.1.jar"/>
3. 修改MANIFEST.MF文件。目录:D:\hadoop-1.2.1\src\contrib\eclipse-plugin\META-INF
Bundle-ClassPath那一栏加入如下信息:
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,
lib/commons-cli-1.2.jar,
lib/commons-configuration-1.6.jar,
lib/commons-httpclient-3.0.1.jar,
lib/commons-lang-2.4.jar,
lib/commons-jackson-core-asl-1.8.8.jar,
lib/commons-jackson-mapper-asl-1.8.8.jar
4.进入hadoop目录D:\hadoop-1.2.1\src\contrib\eclipse-plugin,使用Ant进行编译,最后在D:\hadoop-1.21\build\contrib\eclipse-plugin下面找到你的插件,将插件复制到eclipse/plugin目录下,重启。
关于自编译hadoop eclipse 插件