[align=center][b]使用Ant编译生成Hadoop的Eclipse插件[/b][/align]
由于Hadoop的插件与Eclipse的版本具有一定的关联性,所以在后来的Hadoop的安装文件中就没有编译完成的插件可以使用,而是带有插件的源码(仅非可执行安装文件),需要我们手动的去编译生成与自己安装的Eclipse相对应的插件,下面我们来介绍如何编译产生自己的Eclipse插件。
1、准备
第一步:下载并安装Ant
第二步:下载Hadoop-1.0.1的安装文件并解压到相应位置,此处我放在桌面,下载链接:[url]http://archive.apache.org/dist/hadoop/core/hadoop-1.0.1/[/url]
2、操作流程
2.1、修改hadoop-1.0.1/src/contrib下的build-contrib.xml文件,在其中添加如下代码
2.2、修改hadoop-1.0.1/src/contrib/eclipse-plugin下的build.xml文件,修改Id为Classpath的标签如下:
2.3、修改需要Copy的Jar包与插件的命名(即:版本信息)如下,也是在build.xml文件中:
2.4、在eclipse-plugin目录下执行ant jar -logfile error.log即可,把hadoop-1.0.1\build\contrib\eclipse-plugin下面的hadoop-eclipse-plugin-1.0.1.jar拷贝到Eclipse安装目录的plugins下面就行了。
由于Hadoop的插件与Eclipse的版本具有一定的关联性,所以在后来的Hadoop的安装文件中就没有编译完成的插件可以使用,而是带有插件的源码(仅非可执行安装文件),需要我们手动的去编译生成与自己安装的Eclipse相对应的插件,下面我们来介绍如何编译产生自己的Eclipse插件。
1、准备
第一步:下载并安装Ant
第二步:下载Hadoop-1.0.1的安装文件并解压到相应位置,此处我放在桌面,下载链接:[url]http://archive.apache.org/dist/hadoop/core/hadoop-1.0.1/[/url]
2、操作流程
2.1、修改hadoop-1.0.1/src/contrib下的build-contrib.xml文件,在其中添加如下代码
<!-- 此处Location指的是你的Eclipse安装目录 -->
<property name="eclipse.home" location="E:/eclipse" />
2.2、修改hadoop-1.0.1/src/contrib/eclipse-plugin下的build.xml文件,修改Id为Classpath的标签如下:
<path id="classpath">
<pathelement location="${build.classes}"/>
<pathelement location="${hadoop.root}/build/classes"/>
<!-- add -->
<pathelement location="${hadoop.root}" />
<pathelement location="${hadoop.root}/lib" />
<!-- add -->
<path refid="eclipse-sdk-jars"/>
<path refid="hadoop-jars" />
</path>
<path id="hadoop-jars">
<fileset dir="${hadoop.root}">
<include name="hadoop-*.jar" />
</fileset>
</path>
2.3、修改需要Copy的Jar包与插件的命名(即:版本信息)如下,也是在build.xml文件中:
<target name="jar" depends="compile" unless="skip.contrib">
<mkdir dir="${build.dir}/lib"/>
<copy file="${hadoop.root}/hadoop-core-1.0.1.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-lang-2.4.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/jackson-mapper-asl-1.8.8.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/commons-httpclient-3.0.1.jar"
todir="${build.dir}/lib" verbose="true"/>
<jar
jarfile="${build.dir}/hadoop-${name}-1.0.1.jar"
manifest="${root}/META-INF/MANIFEST.MF">
<fileset dir="${build.dir}" includes="classes/ lib/"/>
<fileset dir="${root}" includes="resources/ plugin.xml"/>
</jar>
</target>
2.4、在eclipse-plugin目录下执行ant jar -logfile error.log即可,把hadoop-1.0.1\build\contrib\eclipse-plugin下面的hadoop-eclipse-plugin-1.0.1.jar拷贝到Eclipse安装目录的plugins下面就行了。