5

这是我在尝试编译此 WordCount.java 文件时遇到的错误。

$javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d ~/wordcount /usr/lib/hadoop/wordcount_classes/WordCount.java
/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar(org/apache/hadoop/fs/Path.class): 

warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found
1 warning
4

5 回答 5

12

hadoop-annotations-2.0.0-cdh4.0.1.jar添加到类路径

于 2012-09-25T13:23:20.277 回答
4

我如何解决此问题的步骤:

  1. 我创建了一个名为 wordcount ( /home/cloudera/wordcount) 的目录。
  2. 添加WordCount.java/home/cloudera/wordcount目录。
  3. 在目录中,我运行了以下命令:

    javac \
    -cp /usr/lib/hadoop/\*:/usr/lib/hadoop/client-0.20/\*:/usr/lib/hadoop/lib/\* \
    WordCount.java 
    -d /home/cloudera/wordcount/wordcount_classes
    
于 2012-12-14T04:46:30.883 回答
2

对于 Hadoop 版本 2.6.0,您需要添加以下 jar:

javac -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:$HADOOP_HOME/share/hadoop/ mapreduce/hadoop-mapreduce-client-core-2.6.0.jar /path_to_your_java_file/WordCount.java

于 2014-12-23T07:47:35.907 回答
0

hadoop-2.6.x 中的快速(但不建议用于生产)是

Unix/MacOS

$ javac -classpath .:$(mapred classpath):$CLASSPATH -d ~/wordcount /usr/lib/hadoop/wordcount_classes/WordCount.java
于 2015-02-20T17:00:49.313 回答
0

如果你有它,请从 pom 中评论以下依赖项

    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-exec</artifactId>
        <version>1.2.1</version>
    </dependency>

然后启用 hadoop-annotations

于 2017-04-11T14:42:02.733 回答