您好,登錄后才能下訂單哦!
小編給大家分享一下如何編譯hadoop2.x的eclipse插件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
注意:以下操作基于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.ssh3*.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
以上是“如何編譯hadoop2.x的eclipse插件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。