文档章节

编译hadoop2.x的eclipse插件

悟空太多啦
 悟空太多啦
发布于 2014/09/01 00:20
字数 793
阅读 5177
收藏 8

注意:以下操作基于Hadoop-2.4.1,Eclipse Luna,Win7 64位

1、下载插件源码包

https://github.com/winghc/hadoop2x-eclipse-plugin

2、新建eclipse java工程,将压缩包中以下目录的内容复制到project中(只是放到eclipse里边看而已,并不使用eclipse编译)

hadoop2x-eclipse-plugin-master.zip\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin

3、修改build.xml如下

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<project default="jar" name="eclipse-plugin">

	<property name="jdk.home" value="D:/Program Files/Java/jdk1.7.0_60" />
	<property name="hadoop.version" value="2.4.1" />
	<property name="hadoop.home" value="D:/Lab/lib/hadoop/hadoop-2.4.1" />
	<property name="eclipse.version" value="4.4" />
	<property name="eclipse.home" value="D:/Lab/bin/Eclipse/eclipse-jee-luna-SR1a-win32-x86_64" />
	<property name="root" value="${basedir}" />
	<property file="${root}/build.properties" />
	<property name="name" value="${ant.project.name}" />
	<property name="src.dir" location="${root}/src" />
	<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" />
	<property name="javac.deprecation" value="off" />
	<property name="javac.debug" value="on" />
	<property name="build.encoding" value="UTF-8" />
	
	<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>

5、在build.xml文件上Run AS Ant Build

Buildfile: D:\Lab\ws-hadoop-2\hadoop2x-eclipse-plugin\build.xml
init:
     [echo] contrib: eclipse-plugin
compile:
     [echo] contrib: eclipse-plugin
    [javac] Compiling 45 source files to D:\Lab\ws-hadoop-2\hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\classes
    [javac] 注: 某些输入文件使用或覆盖了已过时的 API。
    [javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
    [javac] 注: 某些输入文件使用了未经检查或不安全的操作。
    [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
jar:
      [jar] Building jar: D:\Lab\ws-hadoop-2\hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\hadoop-2.4.1-eclipse-4.4-plugin.jar
BUILD SUCCESSFUL
Total time: 28 seconds

6、到这里找编译好的jar



© 著作权归作者所有

悟空太多啦
粉丝 21
博文 85
码字总数 70979
作品 1
南京
项目经理
私信 提问
编译hadoop2.x的hadoop-eclipse-plugin和配置

一、编译 1.安装jdk,并且配置好环境变量。 2.eclipse已经下载并且配置好了。 3.安装ant,并且配置好了环境变量。 4.hadoop包在windows本地已经有了,要和hadoop集群上的hadoop包一样,eclip...

cjun1990
2015/07/06
0
0
零基础学习hadoop到上手工作线路指导(编程篇)

问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? ...

一枚Sir
2014/08/07
787
0
mahout0.9 + hadoop2.2 中文文本分类实战(上)

一、准备环境。 到我写这个的时候,mahout还是0.9版本,官网上发行的0.9版本不能跑在hadoop2.x上。不过最新的代码已经支持hadoop2.x了。所以自己编译一下也是ok的,因为实在不想换hadoop。这...

一只小桃子
2014/05/08
0
14
Windows下使用Hadoop2.6.0-eclipse-plugin插件

首先说一下本人的环境: Windows7 64位系统 Spring Tool Suite Version: 3.4.0.RELEASE Hadoop2.6.0 一.简介 Hadoop2.x之后没有Eclipse插件工具,我们就不能在Eclipse上调试代码,我们要把写...

木偶
2015/04/30
0
14
大数据Hadoop需要了解哪些内容?

一、Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念、版本、历史 5. Hadoop核心组成介绍及hdfs、mapreduce体系结构 6. H...

mo默瑶
2018/05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线程池之ThreadPoolExecutor使用

ThreadPoolExecutor提供了四个构造方法: ThreadPoolExecutor构造方法.png 我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSize, /...

天王盖地虎626
22分钟前
1
0
小程序登陆流程

http://www.bubuko.com/infodetail-2592845.html

为何不可1995
31分钟前
1
0
Consul+Spring boot的服务注册和服务注销

一图胜千言 先看一看要做事情,需要在Consul上面实现注册中心的功能,并以2个Spring boot项目分别作为生产者,消费者。 Consul 假设已经完成文章《Consul的开发者模式之Docker版》中的所有的...

亚林瓜子
37分钟前
4
0
MySQL高可用之基于Galera复制跨地域节点分布的滥用

mysql使用教程 MySQL高可用之基于Galera复制跨地域节点分布的滥用 2018-11-22 02:15 8335 85 让我们再一次讨论MySQL高可用性(HA)和同步复制。 它是地理上分布区域上一些高可用性参考架构解...

rootliu
48分钟前
1
0
js判断pc还是移动端

var pcyidong =/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent); 如果pcyidong的值为false则用户的浏览器为pc端 如果pcyidong的值为true则用户浏览器为移动端 if (pcyidong =...

流年那么伤
59分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部