簡體   English   中英

Hadoop Eclipse插件構建錯誤

[英]Hadoop Eclipse Plugin Build Error

我已經安裝了Hadoop 1.1.2,並且按照http://surajit-paul.blogspot.com/p/eclipse-configuration-for-hadoop-112.html中所述的步驟構建了eclipse-plugin。要構建插件並運行ant命令,我得到了很長的錯誤列表[javac] 100 errors

ivy-retrieve-common:
[ivy:retrieve] :: retrieving :: org.apache.hadoop#eclipse-plugin [sync]
[ivy:retrieve]  confs: [common]
[ivy:retrieve]  0 artifacts copied, 2 already retrieved (0kB/5ms)
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /Users/majid/Desktop/hadoop-1.1.2/ivy/ivysettings.xml

compile:
 [echo] contrib: eclipse-plugin
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/build.xml:61: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 45 source files to /Users/majid/Desktop/hadoop-1.1.2/build/contrib/eclipse-plugin/classes
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:28: package org.apache.hadoop.fs does not exist
[javac] import org.apache.hadoop.fs.FileStatus;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSFolder.java:29: package org.apache.hadoop.fs does not exist
[javac] import org.apache.hadoop.fs.Path;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:25: package org.apache.hadoop.hdfs does not exist
[javac] import org.apache.hadoop.hdfs.DistributedFileSystem;
[javac]                              ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:29: package org.apache.hadoop.fs does not exist
[javac] import org.apache.hadoop.fs.FileSystem;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/dfs/DFSPath.java:30: package org.apache.hadoop.fs does not exist
[javac] import org.apache.hadoop.fs.Path;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:36: package org.apache.hadoop.conf does not exist
[javac] import org.apache.hadoop.conf.Configuration;
[javac]                              ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:38: package org.apache.hadoop.fs does not exist
[javac] import org.apache.hadoop.fs.FileSystem;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:39: package org.apache.hadoop.io does not exist
[javac] import org.apache.hadoop.io.IOUtils;
[javac]                            ^
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopServer.java:40: package org.apache.hadoop.mapred does not exist
[javac] import org.apache.hadoop.mapred.JobClient;
[javac]                                ^
.
.
.
.
.
[javac] /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/HadoopJob.java:302: package Counters does not exist
[javac]       Counters.Group group = counters.getGroup(groupName);
[javac]               ^
[javac] Note: /Users/majid/Desktop/hadoop-1.1.2/src/contrib/eclipse-plugin/src/java/org/apache/hadoop/eclipse/server/JarModule.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 100 errors

我到處搜索了很多,但沒有改變。 我是ant或其他新手。 如果有人可以幫助我,或者如果您已經擁有了hadoop-eclipse-1.1.2.jar插件,請直接上傳它,我非常感激。

您需要包括所有Hadoop依賴項。 當您編譯hadoop程序時,它使用hadoop類,並確保編譯器可以看到那些hadoop類,您需要告訴它所有Hadoop jar的位置。

以下是一個示例,說明了如何修改build.xml以使用ant設置類路徑,但必須在完整列表中添加。 完整列表是您包含在eclipse中的所有jar,包括在添加的庫中找到的所有jar。

<property name="src" location="my/src/path" />
<property name="bin" location="my/bin/directory" />
<property name="lib" location="/path/to/hadoop/libs/" />
<target name="build" depends="init" description="compiling my hadoop program source">
    <javac srcdir="${src}" destdir="${bin}" debug="on" debuglevel="lines,vars,source" includeantruntime="false" encoding="Cp1252">
        <classpath>
            <pathelement path="${lib}" />
            <pathelement location="${lib}/hadoop-mapreduce-client-core-*.jar" />
            <pathelement location="${lib}/hadoop-mapreduce-client-common-*.jar" />
            ...
            <pathelement location="${lib}/some-other-jar.jar" />
        </classpath>
    </javac>
</target>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM