hadoop-1.2.0 eclipse插件编译
linux、windows下通用,亲测。
下面以window为例,假设:hadoop工程目录位于D:\work\eclipse64\hadoop-1.2.0.1.3.0.0,eclipse安装目录为E:\DevelopTools\eclipse64。
1. 安装ant
ant安装不再介绍。
2. 导入hadoop eclipse插件工程
hadoop eclipse工程位于hadoop工程目录的src\contrib\eclipse-plugin下,其默认的项目名称是 MapReduceTools。
3. 导入所需jar包。
a. 将hadoop-core-*.jar(如hadoop-core-1.2.0.1.3.0.0-107.jar)拷贝到hadoop工程目录下(如D:\work\eclipse64\hadoop-1.2.0.1.3.0.0下)。
c. 在项目 MapReduceTools 中新建 lib 目录,将hadoop-core-*.jar(如我的为hadoop-core-1.2.0.1.3.0.0-107.jar)拷贝到新建的lib目录下,并且将lib目录下hadoop-core-*.jar重命名为 hadoop-core.jar。
4. 修改build-contrib.xml。
a. 将hadoop工程目录下的src\contrib\build-contrib.xml(如D:\work\eclipse64\hadoop-1.2.0.1.3.0.0\src\contrib\build-contrib.xml)文件拷贝到 MapReduceTools 项目目录中。
b. 添加eclipse.home,添加hadoop版本version:
<!--添加eclipse.home和hadoop的version-->
<property name="eclipse.home" location="E:/DevelopTools/eclipse64"/>
<property name="version" value="1.2.0.1.3.0.0-107"/>
c. 修改javac.deprecation为on:
<property name="javac.deprecation" value="on"/><!--原来为off-->
5. 修改build.xml
对项目 MapReduceTools 中的文件build.xml做如下修改:
a. 修改build-contrib.xml的位置,去掉"../",改为当前目录下的build-contrib.xml文件:
<importfile="build-contrib.xml"/>
b. 添加hadoop-core:
<!-- Override classpath to include Eclipse SDK jars -->
<path id="classpath">
<pathelement location="${build.classes}"/>
<pathelement location="${hadoop.root}/build/classes"/>
<pathelement location="${hadoop.root}/hadoop-core-${version}.jar"/><!--添加的hadoop-core-->
<path refid="eclipse-sdk-jars"/>
</path>
c. 添加includeantruntime:
<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}"
includeantruntime="on"><!--添加includeantruntime="on"-->
<classpath refid="classpath"/>
</javac>
</target>
d. 修改并添加jar包拷贝:
<!-- Override jar target to specify manifest -->
<target name="jar" depends="compile" unless="skip.contrib">
<mkdir dir="${build.dir}/lib"/>
<!--修改并添加jar包拷贝-->
<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>
6. 修改MANIFEST.MF
对项目 MapReduceTools 中的META-INF/MANIFEST.MF文件做如下修改:
Bundle-ClassPath: classes/,
lib/hadoop-core.jar ,
lib/commons-cli-1.2.jar ,
lib/commons-httpclient-3.0.1.jar,
lib/jackson-core-asl-1.8.8.jar,
lib/jackson-mapper-asl-1.8.8.jar,
lib/commons-configuration-1.6.jar,
lib/commons-lang-2.4.jar
7. 编译插件
右键点击build.xml文件->Run as->Ant build,当编译输出BUILD SUCCESSFUL,说明编译成功。
最新文章
- VS 团队资源管理 强制解锁锁定文件
- 堆糖瀑布流完整解决方案(jQuery)
- 10个学习Android开发的网站推荐
- android avoiding-memory-leaks
- bootstrap布局两列或者多列表单
- iOS常见的设计模式
- NFine常见错误
- FZU Problem 1895 整除45问题(整除问题+字符串维护+优化)
- javase基础回顾(四) 自定义注解与反射
- Sass嵌套
- nginx中支持.htaccess并禁止php在特定目录无法运行
- ruby中顶层定义的方法究竟放在哪里?
- HFSS在进行仿真时端口与激励设置细则
- Vs 开发时无法断点问题
- 百度学术导入endnote出现choose an import filter解决
- 【转】android SDK中的ddms使用详解
- c# 获取本机IP
- 七种bond模式说明
- 【转】MYSQL数据库四种索引类型的简单使用--MYSQL组合索引“最左前缀”原则
- vue-video监听touch事件