查看: 3221|回复: 4

hadoop2.4.1插件在eclipse中的编译方法

[复制链接]
论坛徽章:
1
Hadoop研习者初级
日期:2014-11-27 15:43:32
发表于 2014-8-24 16:03 | 显示全部楼层 |阅读模式
上次说了1.2.1的插件编译,这次来说一下2.4.1的
首先下载Hadoop2x-eclipse-plugin-master,网址就用https://github.com/winghc/hadoop2x-ecli pse-plugin就好
图片1.png
然后解压缩找到下面这个文件夹
图片2.png
然后在eclipse里面随便创建一个项目,比如我的 图片3.png ,然后把
图片4.png
拷贝到项目中去
图片5.png
出错不要紧,之后打开build.xml文件,直接把如下代码贴进去覆盖原有的
<?xml version="1.0"?>
<project name="eclipse-plugin" default="jar">
        <property name="jdk.home" value="C:/Program Files/Java/jdk1.8.0_05" />
        <property name="hadoop.version" value="2.4.1" />
        <property name="hadoop.home" value="D:/hadoop-2.4.1" />
        <property name="eclipse.version" value="4.4" />
        <property name="eclipse.home" value="D:/eclipse" />
        <property name="root" value="${basedir}" />
        <property file="${root}/build.properties" />
        <property name="name" value="${ant.project.name}" />
        <property name="src.dir" location="${root}/src/java" />
        <property name="build.contrib.dir" location="${root}/build/contrib" />
        <property name="build.dir" location="${build.contrib.dir}/${name}" />
        <property name="build.classes" location="${build.dir}/classes" />
        <!-- all jars together -->
        <property name="javac.deprecation" value="off" />
        <property name="javac.debug" value="on" />
        <property name="build.encoding" value="ISO-8859-1" />
        <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>
        <path id="project-jars">
                <fileset file="${build.dir}/lib/*.jar" />
        </path>
        <target name="init" unless="skip.contrib">
                <echo message="contrib: ${name}" />
                <mkdir dir="${build.dir}" />
                <mkdir dir="${build.classes}" />
                <mkdir dir="${build.dir}/lib" />
                <copy todir="${build.dir}/lib/" verbose="true">
                        <fileset dir="${hadoop.home}/share/hadoop/mapreduce">
                                <include name="hadoop*.jar" />
                                <exclude name="*test*" />
                                <exclude name="*example*" />
                        </fileset>
                        <fileset dir="${hadoop.home}/share/hadoop/common">
                                <include name="hadoop*.jar" />
                                <exclude name="*test*" />
                                <exclude name="*example*" />
                        </fileset>
                        <fileset dir="${hadoop.home}/share/hadoop/hdfs">
                                <include name="hadoop*.jar" />
                                <exclude name="*test*" />
                                <exclude name="*example*" />
                        </fileset>
                        <fileset dir="${hadoop.home}/share/hadoop/yarn">
                                <include name="hadoop*.jar" />
                                <exclude name="*test*" />
                                <exclude name="*example*" />
                        </fileset>
                        <fileset dir="${hadoop.home}/share/hadoop/common/lib">
                                <include name="protobuf-java-*.jar" />
                                <include name="log4j-*.jar" />
                                <include name="commons-cli-*.jar" />
                                <include name="commons-collections-*.jar" />
                                <include name="commons-configuration-*.jar" />
                                <include name="commons-lang-*.jar" />
                                <include name="jackson-core-asl-*.jar" />
                                <include name="jackson-mapper-asl-*.jar" />
                                <include name="slf4j-log4j12-*.jar" />
                                <include name="slf4j-api-*.jar" />
                                <include name="guava-*.jar" />
                                <include name="hadoop-annotations-*.jar" />
                                <include name="hadoop-auth-*.jar" />
                                <include name="commons-cli-*.jar" />
                                <include name="netty-*.jar" />
                        </fileset>
                </copy>
        </target>
        <target name="compile" depends="init" unless="skip.contrib">
                <echo message="contrib: ${name}" />
                <javac fork="true" executable="${jdk.home}/bin/javac" encoding="${build.encoding}" srcdir="${src.dir}" includes="**/*.java" destdir="${build.classes}" debug="${javac.debug}" deprecation="${javac.deprecation}" includeantruntime="on">
                        <classpath refid="eclipse-sdk-jars" />
                        <classpath refid="project-jars" />
                </javac>
        </target>
        <target name="jar" depends="compile" unless="skip.contrib">
                <pathconvert property="mf.classpath" pathsep=",lib/">
                        <path refid="project-jars" />
                        <flattenmapper />
                </pathconvert>
                <jar jarfile="${build.dir}/hadoop-${hadoop.version}-eclipse-${eclipse.version}-plugin.jar" manifest="${root}/META-INF/MANIFEST.MF">
                        <manifest>
                                <attribute name="Bundle-ClassPath" value="classes/,lib/${mf.classpath}" />
                        </manifest>
                        <fileset dir="${build.dir}" includes="classes/ lib/" />
                        <fileset dir="${root}" includes="resources/ plugin.xml" />
                </jar>
        </target>
        <target name="clean">
                <echo message="contrib: ${name}" />
                <delete dir="${build.dir}" />
        </target>
</project>
其中如下部分要改成你自己的
D:/hadoop-2.4.1:这个文件就是把官网下载的file:///C:UsersSilentAppDataLocalTempksohtmlwps_clip_image-29318.png解压就是了
D:/eclipse:这个是你的eclipse目录
另外两个随意了,只是生成jar包的时候会拼接一下版本当名字
<property name="hadoop.version" value="2.4.1" />
<property name="hadoop.home" value="D:/hadoop-2.4.1" />
<property name="eclipse.version" value="4.4" />
<property name="eclipse.home" value="D:/eclipse" />
然后在build.xml文件里面 【鼠标右键】==》【Run AS==》【Ant Build
图片7.png
见到这个,刷新一下项目,就会发现多了这货
图片8.png
一路打开,就是它了
图片9.png
剩下的怎么做随你了

图片6.png
回复

使用道具 举报

论坛徽章:
7
Oracle研习者初级
日期:2014-09-19 14:07:42Hadoop研习者初级
日期:2014-09-19 14:12:21R研习者中级
日期:2014-09-19 14:18:07R研习者中级
日期:2014-09-19 14:21:54scala徽章
日期:2014-11-06 14:55:58电商分布式系统徽章
日期:2015-04-15 15:28:25Hadoop研习者初级
日期:2016-02-01 16:30:19
发表于 2014-8-24 17:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

论坛徽章:
2
Hadoop研习者初级
日期:2014-11-27 15:43:32storm徽章
日期:2017-09-19 10:54:59
发表于 2014-8-24 17:53 | 显示全部楼层
第一肯直接将eclipse-plugin直接导到eclipse中去,再接着编译等,也可以吧
回复 支持 反对

使用道具 举报

论坛徽章:
2
Java徽章
日期:2014-11-06 17:45:56Hadoop研习者初级
日期:2014-11-27 15:43:32
发表于 2014-8-24 19:29 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-8-24 23:24 , Processed in 0.183992 second(s), 45 queries .

关闭

扫一扫加入
本版微信群