我正在尝试建立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
以下是我系统的maven信息:
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]
答案 0 :(得分:0)
如错误消息所示:
Protobuf安装版本与Protobuf库版本
不匹配
您使用的是错误版本的协议缓冲区。 @ jigar-joshi发布了一个指针,向您展示如何将其更改为正确的版本。
编辑:以下内容回答了用户报告的新错误。
阅读错误消息并尝试理解它们非常重要。例如,这个说:
/Users/evanzamir/Pig/pig-jars/elephant-bird/core/src/main/java/org/apache/thrift/Fixtures.java:[118,69]错误:找不到符号
这意味着在文件Fixtures.java
中,在第118行(字符69)中,您有一个先前未定义的符号(例如,变量或方法名称)(或正确导入/正确限定) )。
答案 1 :(得分:0)
我遇到了同样的问题并找到了解决方法。你需要安装protobuf 2.4.1和thrift 0.7.0。我创建了演示文稿,其中包含要遵循的步骤(如何安装旧版本)。希望这会有所帮助
http://www.slideshare.net/kapildewade/elephant-bird-build-error