<project default= "jar" name ="eclipse-plugin">
<property name= "name" value ="${ant.project.name}" />
<property name= "root" value ="${basedir}" />
<property name= "hadoop.root" location ="E:\Hadoop\hadoop-1.1.2" />
<property name= 'version' value ='1.1.2' />
<property name= 'eclipse.home' location ='E:\android\eclipse' />
<property name= "build.dir" location ="${hadoop.root}/build/contrib/${name}" />
<property name= "build.classes" location ="${build.dir}/classes" />
<property name= "src.dir" location ="${root}/src/java" />
<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">
<fileset dir= "${hadoop.root}">
<include name= "*.jar" />
</fileset>
<path refid= "eclipse-sdk-jars" />
</path>
<target name= "compile">
<mkdir dir= "${build.dir}/classes" />
<javac encoding= "ISO-8859-1" srcdir ="${src.dir}" includes="**/*.java"
destdir= "${build.classes}" debug ="on" deprecation= "off">
<classpath refid= "classpath" />
</javac>
</target>
<target name= "jar" depends ="compile">
<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/jackson-core-asl-1.8.8.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-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>
</project>
5. 修改META-INF/MANIFEST.MF文件内容,修改成如下:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MapReduce Tools for Eclipse
Bundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=true
Bundle-Version: 0.18
Bundle-Activator: org.apache.hadoop.eclipse.Activator
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.jdt.launching,
org.eclipse.debug.core,
org.eclipse.jdt,
org.eclipse.jdt.core,
org.eclipse.core.resources,
org.eclipse.ui.ide,
org.eclipse.jdt.ui,
org.eclipse.debug.ui,
org.eclipse.jdt.debug.ui,
org.eclipse.core.expressions,
org.eclipse.ui.cheatsheets,
org.eclipse.ui.console,
org.eclipse.ui.navigator,
org.eclipse.core.filesystem,
org.apache.commons.logging
Eclipse-LazyStart: true
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/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar
Bundle-Vendor: Apache Hadoop
最后一步:右键MyBuild.xml文件 ->run as->Ant Bulid。 编译成功后,就可以在${build.dir}目录下找到hadoop-eclipse-plugin-1.1.2.jar。