You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-user@hadoop.apache.org by TonY Xu <xu...@gmail.com> on 2013/07/09 16:09:18 UTC

Package Missing When Building Hadoop Plugin For Eclipse

*Hey, guys, *
*
*
*I'm trying to build my own hadoop(1.1.2) plugin for eclipse(3.7.2), and it
is always saying that some eclipse packages do not exist. Actually the
eclipse path is explicitly written in both build.xml and build-contrib.xml.
And I double-checked that the path is correct and all the missing packages
are actually there.*
*
*
*Here's the error message I got:*

compile:
    [echo] contrib: eclipse-plugin
    [javac] Compiling 45 source files to
/home/tony/Downloads/hadoop-1.1.2/build/contrib/eclipse-plugin/classes
    [javac]
/home/tony/Downloads/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/Activator.java:22:
package org.eclipse.ui.plugin does not exist
    [javac] import org.eclipse.ui.plugin.AbstractUIPlugin;
    [javac]                             ^
    [javac]
/home/tony/Downloads/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/Activator.java:28:
cannot find symbol
    [javac] symbol: class AbstractUIPlugin
    [javac] public class Activator extends AbstractUIPlugin {
    [javac]                                ^
    [javac]
/home/tony/Downloads/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/ErrorMessageDialog.java:21:
package org.eclipse.jface.dialogs does not exist
    ......
    [javac] 100 errors

BUILD FAILED
/home/tony/Downloads/hadoop-1.1.2/src/contrib/eclipse-plugin/build.xml:68:
Compile failed; see the compiler error output for details.


*Here's what my build.xml under hadoop/src/contrib/eclipse-plugin looks
like:*

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

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

  <import file="../build-contrib.xml"/>

  <property name="eclipse.home" location="/usr/share/eclipse"/>
  <property name="version" value="1.1.2"/>

  <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>

  <!-- Override classpath to include Eclipse SDK jars -->
  <path id="classpath">
    <pathelement location="${build.classes}"/>
    <pathelement location="${hadoop.root}/build/classes"/>
    <fileset dir="${hadoop.root}">
        <include name="**/*.jar" />
    </fileset>
    <path refid="eclipse-sdk-jars"/>
  </path>

  <!-- Skip building if eclipse.home is unset. -->
  <target name="check-contrib" unless="eclipse.home">
    <property name="skip.contrib" value="yes"/>
    <echo message="eclipse.home unset: skipping eclipse plugin"/>
  </target>

 <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">
     <classpath refid="classpath"/>
    </javac>
  </target>

  <!-- Override jar target to specify manifest -->
  <target name="jar" depends="compile" unless="skip.contrib">
    <mkdir dir="${build.dir}/lib"/>
    <copy file="${hadoop.root}/hadoop-core-${version}.jar"
tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar"
 todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"
 tofile="${build.dir}/lib/commons-configuration.jar" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"
 tofile="${build.dir}/lib/commons-httpclient.jar" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"
 tofile="${build.dir}/lib/commons-lang.jar" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"
 tofile="${build.dir}/lib/jackson-core-asl.jar" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"
 tofile="${build.dir}/lib/jackson-mapper-asl.jar" verbose="true"/>
    <echo message="${build.dir}"/>
    <echo message="${root}"/>
    <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>

</project>

*I add these infos to hadoop/src/contrib/build-contrib.xml:*

  <property name="eclipse.home" location="/usr/share/eclipse"/>
  <property name="version" value="1.1.2"/>

*And also I added these infos to
hadoop/src/contrib/eclipse-plugin/META-INF/MANIFEST.MF:*

Bundle-ClassPath: classes/,
 lib/hadoop-core.jar,
 lib/commons-cli-1.2.jar,
 lib/commons-configuration-1.6.jar,
 lib/commons-httpclient-3.0.1.jar,
 lib/commons-lang-2.4.jar,
 lib/jackson-core-asl-1.8.8.jar,
 lib/jackson-mapper-asl-1.8.8.jar

*I'm totally freaking out by getting this message and just wondering if
anyone could help to see what is going on... THANK YOU SOOOOOO much for
your help!!!!*


Thanks,
TonY