java - build 象鸟时出错

标签 java maven hadoop apache-pig elephantbird

我正在尝试构建Twitter的大象鸟包,以便可以与Pig一起使用,但出现错误:

[INFO] Elephant Bird ..................................... SUCCESS [0.638s]
[INFO] Elephant Bird Hadoop Compatibility ................ SUCCESS [1.213s]
[INFO] Elephant Bird Core ................................ FAILURE [0.580s]
[INFO] Elephant Bird Cascading2 .......................... SKIPPED
[INFO] Elephant Bird Hive ................................ SKIPPED
[INFO] Elephant Bird Pig ................................. SKIPPED
[INFO] Elephant Bird Mahout .............................. SKIPPED
[INFO] Elephant Bird RCFile .............................. SKIPPED
[INFO] Elephant Bird Lucene .............................. SKIPPED
[INFO] Elephant Bird Pig Lucene .......................... SKIPPED
[INFO] Elephant Bird Examples ............................ SKIPPED

[ERROR] Failed to execute goal com.github.igor-petruk.protobuf:protobuf-maven-plugin:0.4:run (default) on project elephant-bird-core: Protobuf installation version does not match Protobuf library version -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :elephant-bird-core

这是我的系统的行家信息:
Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800)
Maven home: /usr/share/maven
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac"

我已经安装了Thrift和protobuf。

编辑按照Jigar的建议,我修复了在这里遇到的第一个构建错误,该错误与protobuf的版本有关。我还更新了pom文件中Thrift的版本号,这导致了错误。但是我仍然收到以下错误:
[INFO] Elephant Bird ..................................... SUCCESS [0.647s]
[INFO] Elephant Bird Hadoop Compatibility ................ SUCCESS [1.157s]
[INFO] Elephant Bird Core ................................ FAILURE [7.434s]
[INFO] Elephant Bird Cascading2 .......................... SKIPPED
[INFO] Elephant Bird Hive ................................ SKIPPED
[INFO] Elephant Bird Pig ................................. SKIPPED
[INFO] Elephant Bird Mahout .............................. SKIPPED
[INFO] Elephant Bird RCFile .............................. SKIPPED
[INFO] Elephant Bird Lucene .............................. SKIPPED
[INFO] Elephant Bird Pig Lucene .......................... SKIPPED
[INFO] Elephant Bird Examples ............................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.987s
[INFO] Finished at: Mon Oct 21 14:25:09 PDT 2013
[INFO] Final Memory: 20M/369M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elephant-bird-core: Compilation failure
[ERROR] /Users/evanzamir/Pig/pig-jars/elephant-bird/core/src/main/java/org/apache/thrift/Fixtures.java:[118,69] error: cannot find symbol
[ERROR] -> [Help 1]

最佳答案

如错误消息所示:

Protobuf installation version does not match Protobuf library version



您使用的 Protocol Buffer 版本错误。 @ jigar-joshi发布了一个指针,向您展示如何将其更改为正确的版本。

编辑:以下回答用户报告的新错误。

阅读错误消息并尝试理解它们很重要。例如,这说:

/Users/evanzamir/Pig/pig-jars/elephant-bird/core/src/main/java/org/apache/thrift/Fixtures.java:[118,69] error: cannot find symbol



这意味着在文件Fixtures.java中,在第118行(字符69)中,您有一个以前未定义(或正确导入/适当限定)的符号(例如,变量或方法名称)。

关于java - build 象鸟时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504621/

相关文章:

java - EJB 3.0 和 future 的方法

regex - Maven - 文件包含/排除正则表达式语法规则

hadoop - 是否可以保存 Flink 数据集中批量迭代的部分输出?

java - 将 Double 的 ArrayList 转换为 double[]

java - 在 Hibernate 的 NamedQuery 中使用用户定义的变量

java - Google App Engine Java 上的 RESTful 应用程序?

java - 多个操作系统的 jnetpcap 依赖性

maven-antrun-plugin 如果满足两个可能条件中的任何一个,则跳过目标

hadoop - 配置单元不正确的 header 检查

sql - Hive View 没有路径?