使用Eclipse&Ant编译hadoop2.x的eclipse插件

注意:以下操作基于Hadoop-1.2.1,Eclipse Luna

1、下载插件源码包

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

2、新建eclisep java工程,将压缩包中以下目录的内容复制到project中

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

3、增加依赖库

其中hadoop-2.4.1的jar来自hadoop主目录下的

\hadoop-2.4.1\share\hadoop\

Plug-in依赖则直接添加自定义library即可

4、修改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 name="eclipse-plugin" default="jar">
    <!-- 这里的路径都要改啊! -->
 <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:/Program Files/eclipse/eclipse-jee-luna-R-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/java" /><!-- 注意这里是maven的方式! -->
 
 <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" />-->
 <property name="build.encoding" value="UTF-8" /><!-- 就是要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="clean">
  <echo message="contrib: ${name}" />
  <delete dir="${build.dir}" />
 </target> 
  
 <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>

</project>

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

Buildfile: D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build.xml

init:

     [echo] contrib: eclipse-plugin

    [mkdir] Created dir: D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin

    [mkdir] Created dir: D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\classes

    [mkdir] Created dir: D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\lib

     [copy] Copying 35 files to D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\lib

     [copy] Copying D:\Lab\lib\HADOOP\hadoop-2.4.1\share\hadoop\common\lib\commons-cli-1.2.jar to D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\lib\commons-cli-1.2.jar

     [copy] Copying D:\Lab\lib\HADOOP\hadoop-2.4.1\share\hadoop\common\lib\commons-collections-3.2.1.jar to D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\lib\commons-collections-3.2.1.jar

     [copy] Copying D:\Lab\lib\HADOOP\hadoop-2.4.1\share\hadoop\common\lib\commons-configuration-1.6.jar to D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\lib\commons-configuration-1.6.jar

     此处省略若干字。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

compile:

     [echo] contrib: eclipse-plugin

    [javac] Compiling 45 source files to D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\classes

    [javac] 注: 某些输入文件使用或覆盖了已过时的 API。

    [javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。

    [javac] 注: 某些输入文件使用了未经检查或不安全的操作。

    [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
jar:

      [jar] Building jar: D:\Lab\ws-back-end\Hadoop2x-eclipse-plugin\build\contrib\eclipse-plugin\hadoop-2.4.1-eclipse-4.4-plugin.jar

init:

     [echo] contrib: eclipse-plugin

compile:

     [echo] contrib: eclipse-plugin

BUILD SUCCESSFUL

Total time: 11 seconds

6、到这里找编译好的jar

使用Eclipse&Ant编译hadoop2.x的eclipse插件

时间: 2024-10-06 00:41:26

使用Eclipse&Ant编译hadoop2.x的eclipse插件的相关文章

使用Eclipse&Ant编译hadoop1.x的eclipse插件

注意:以下操作基于Hadoop-1.2.1,Eclipse Luna 1.将hadoop eclipse插件的工程导入Eclipse.插件源码目录如下: D:\Lab\lib\hadoop\hadoop-1.2.1\src\contrib\eclipse-plugin 2.配置工程依赖 3.准备ant的配置文件 D:\Lab\lib\hadoop\hadoop-1.2.1\src\contrib\build-contrib.xml 将以上build-contrib.xml拷贝到项目目录中,并修改

ubuntu 16.0 利用ant编译 hadoop-eclipse-plugins2.6.0

折腾了两天,抱着不放弃的精神,我终于编译出我自己所需的hadoop中在eclipse中的插件 在网上下载的可能因为版本不一致,在编译的时候出现各种各样的问题,包括你的eclipse版本和hadoop版本 ,jdk版本,ant版本 所以下载好多个,最少十九个吧,但是一直没有成功,一直出现找不到包的异常信息,关于这个异常信息网上的信息很少 compile: [echo] contrib: eclipse-plugin [javac] Compiling 45 source files to /usr

window8.1编译hadoop2 eclipse插件,并远程调试hadoop程序

一.编译hadoop2 eclipse插件     1.安装ant 2.准备eclipse插件包,下载地址:http://pan.baidu.com/s/1i3myDvv 或者https://github.com/nemotan/hadoop2x-eclipse-plugin 3.解压插件包,进入主目录执行: ant jar -Dversion=2.6.0 -Declipse.home=F:\tool\eclipse-jee-juno-SR2\eclipse-jee-juno-SR2 -Dhad

使用Ant编译Eclipse源代码

原文: http://blog.csdn.net/gonxi/article/details/603947 一.什么是Eclipse源代码编译? Eclipse源代码编译提供开发者一个自动方法来编译java代码,产生javadoc,最后,产生一个zip文件,从下载的源代码树而来的eclipse运行体.源代码编译最终的结果是一个可以运行的Eclipse. 二.获得源代码 源代码编译下载包含所有的java代码,非java资源和脚本,编译一个完整版本的Eclipse所需要的. 尽管你可以手工编辑bui

Hadoop 2.5.2 eclipse plugin 编译 win7 集成

一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www.cnblogs.com/huligong1234/p/4136331.html) 我是在自己的Linux上编译了一一下, centos 64位 编译环境: 二.windows基础环境准备 windows7(x64),jdk,ant,eclipse,hadoop 1.jdk环境配置 jdk-6u26-windows-i586.exe安装后好后配置相关JAVA_HOME环境

eclipse远程连接hadoop2.7.3进行开发

一.前言 环境: 系统:centos6.5 hadoop版本:Apache hadoop2.7.3(Windows和centos都是同一个) eclipse版本:4.2.0(juno版本,windows) ant版本:ant 1.7.1(windows) java版本:1.8.0_05(windows) 我是在虚拟机中安装的系统,具体的安装和配置参考:Hadoop单机伪分布部署. 二.制作插件 1. 下载hadoop2x-eclipse-plugin-master.zip 在github下载:h

(转)Eclipse下搭建Hadoop2.4.0开发环境

Eclipse下搭建Hadoop2.4.0开发环境 一.安装Eclipse 下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse 4.3.1版本下载地址:http://pan.baidu.com/s/1eQkpRgu 二.在eclipse上安装hadoop插件 1.下载hadoop插件 下载地址:http://pan.baidu.com/s/1mgiHFok 此zip文件包含了源码,我们使用使用编译好的jar即可,解压后,release文件夹中的h

在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境

1.安装依赖的包: yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 2. 安装protobuf 2.5.0, 首先去google的网站上下载protobuf源代码,解压并切换到root用户执行如下命令: ./configure 如果中间发生错误,说明有些依赖包并为安装, an error occured because dependency is not met th

Eclipse反编译工具Jad及插件JadClipse配置

Jad是一个Java的一个反编译工 具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的 插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 1  下载Eclipse反编译工具Jad. 下载路径:  http://pan.baidu.com/s/1tOSO2 2 把下载包中的 net.sf.jadclipse_3.3.0.jar放入到 eclipse的安装目录下,..