Linux下成功编译hadoop-eclipse-plugin-${version}.jar
来源:互联网 发布:淘宝找不到自己的店铺 编辑:程序博客网 时间:2024/04/28 11:52
这里是基于hadoop-1.0.4和eclipse Indigo版本。
这里以HADOOP_HOME来表示您电脑上hadoop的安装目录。
1、编辑${HADOOP_HOME}/src/contrib/下的build-contrib.xml文件
添加{version}和{eclipse.home}属性:
2、编辑${HADOOP_HOME}/src/contrib/eclipse-plugin/下的build.xml文件<project name="hadoopbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- 这里定义了 version & eclipse.home -->
<property name="version" value="1.0.4"/>
<property name="eclipse.home" value="/home/chqz/systool/eclipse/eclipse"/>
<property name="name" value="${ant.project.name}"/>
<property name="root" value="${basedir}"/>
<property name="hadoop.root" location="${root}/../../../"/>
(1) 添加hadoop-jars path,并同时加入到classpath中:
(2) 设置includeantruntime=on,防止compile时报warning:<!-- 这里添加了 hadoop-jars --> <path id="hadoop-jars"> <fileset dir="${hadoop.root}/"> <include name="hadoop-*.jar"/> </fileset> </path> <!-- Override classpath to include Eclipse SDK jars --> <path id="classpath"> <pathelement location="${build.classes}"/> <pathelement location="${hadoop.root}/build/classes"/> <path refid="eclipse-sdk-jars"/>
<!-- 将 hadoop-jars 添加到这里 --> <path refid="hadoop-jars"/> </path>
(3) 添加将要打包到plugin中的第三方包列表:<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,防止compile报warning -->
includeantruntime="on"> <classpath refid="classpath"/> </javac> </target>
3、执行ant命令以生成hadoop-eclipse-plugin-${version}.jar包:<!-- Override jar target to specify manifest --> <target name="jar" depends="compile" unless="skip.contrib"> <mkdir dir="${build.dir}/lib"/> <!-- 这里主要修改的是file中的值,注意路径一定要正确 --> <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-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}-${version}.jar" manifest="${root}/META-INF/MANIFEST.MF"> <fileset dir="${build.dir}" includes="classes/ lib/"/> <fileset dir="${root}" includes="resources/ plugin.xml"/> </jar> </target>
进入到${HADOOP_HOME}/src/contrib/eclipse-plugin/目录下,
然后执行ant命令,输出结果如下:
[chqz@chqz eclipse-plugin]$ antBuildfile: /home/chqz/plugin/hadoop/hadoop-1.0.4/src/contrib/eclipse-plugin/build.xmlcheck-contrib:init: [echo] contrib: eclipse-plugininit-contrib:ivy-download: [get] Getting: http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.1.0/ivy-2.1.0.jar [get] To: /home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivy-2.1.0.jar [get] Not modified - so not downloadedivy-probe-antlib:ivy-init-antlib:ivy-init:[ivy:configure] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ ::[ivy:configure] :: loading settings :: file = /home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivysettings.xmlivy-resolve-common:[ivy:resolve] :: resolving dependencies :: org.apache.hadoop#eclipse-plugin;working@chqz[ivy:resolve] confs: [common][ivy:resolve] found commons-logging#commons-logging;1.0.4 in maven2[ivy:resolve] found log4j#log4j;1.2.15 in maven2[ivy:resolve] :: resolution report :: resolve 152ms :: artifacts dl 4ms --------------------------------------------------------------------- | | modules || artifacts | | conf | number| search|dwnlded|evicted|| number|dwnlded| --------------------------------------------------------------------- | common | 2 | 0 | 0 | 0 || 2 | 0 | ---------------------------------------------------------------------ivy-retrieve-common:[ivy:retrieve] :: retrieving :: org.apache.hadoop#eclipse-plugin [sync][ivy:retrieve] confs: [common][ivy:retrieve] 0 artifacts copied, 2 already retrieved (0kB/8ms)[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead[ivy:cachepath] :: loading settings :: file = /home/chqz/plugin/hadoop/hadoop-1.0.4/ivy/ivysettings.xmlcompile: [echo] contrib: eclipse-pluginjar:BUILD SUCCESSFULTotal time: 2 seconds最后成功生成的hadoop-eclipse-plugin-${version}.jar在${HADOOP_HOME}/build/contrib/eclipse-plugin下。
drwxrwxr-x. 3 chqz chqz 4096 1月 15 22:50 classesdrwxrwxr-x. 2 chqz chqz 4096 1月 15 21:49 examples-rw-rw-r--. 1 chqz chqz 5625159 1月 15 23:03 hadoop-eclipse-plugin-1.0.4.jardrwxrwxr-x. 2 chqz chqz 4096 1月 15 23:03 libdrwxrwxr-x. 3 chqz chqz 4096 1月 15 21:49 systemdrwxrwxr-x. 3 chqz chqz 4096 1月 15 21:49 test
- Linux下成功编译hadoop-eclipse-plugin-${version}.jar
- Linux下Ant编译Hadoop-eclipse-plugin-2.x.x.jar插件
- win7下编译生产hadoop-eclipse-plugin-2.2.0.jar
- windows下编译hadoop-eclipse-plugin-1.1.2.jar插件
- Linux下安装及配置Eclipse Kepler和hadoop-eclipse-kepler-plugin-2.2.0.jar
- 编译 Hadoop Eclipse Plugin
- 编译hadoop-eclipse-plugin-1.1.2.jar插件
- 编译hadoop-eclipse-plugin-1.1.2.jar插件
- 编译hadoop 中eclipse-plugin的jar包
- hadoop eclipse plugin jar 下载
- Windows下编译hadoop 2.x Hadoop-eclipse-plugin插件
- 编译hadoop的eclipse插件hadoop-eclipse-plugin-1.2.1.jar
- 编译hadoop的eclipse插件hadoop-eclipse-plugin-1.2.1.jar
- hadoop-eclipse-plugin 编译 打包
- hadoop eclipse plugin 自编译
- 编译打包eclipse hadoop plugin
- Hadoop eclipse plugin 在windows下的编译
- hadoop2x-eclipse-plugin在hadoop 2.7下编译
- Genesis-3D学习手册——13.灯光
- 使用memcache和redis实现队列
- Scala Akka 活动对象持久化 Eventsourced 设计模式使用指南
- 性能优化之布局优化
- 12 Android AsyncHttpClient 的简单使用
- Linux下成功编译hadoop-eclipse-plugin-${version}.jar
- SPI,UART,I2C都有什么区别,及其各自的特点
- MFC:在状态栏上显示鼠标当前的位置
- 【Google官方教程】第一课:高效地加载大Bitmap(位图)
- 关于傅里叶变换的数学特点与优势
- Genesis-3D学习手册——14.阴影级联
- java jdk 环境配置
- kindeditor4.1.8以前版本批量上传图片与swfupload冲突
- 分享些不错的Java基础视频--黑马毕向东老师Java经典基础视频