尽管在我的系统

时间:2016-02-03 11:27:21

标签: hadoop protoc

我现在正在尝试在完成其先决条件后使用mvn构建hadoop。 但是,即使我有正确版本的protoc,我也会收到此消息。 我已经尝试多次重建protoc 2.5.0并且每次都会通过它的所有测试并成功构建。我不知道为什么会这样,请帮忙。谢谢。

  

[错误]无法执行目标   org.apache.hadoop:Hadoop的Maven的插件:3.0.0-快照:protoc   (compile-protoc)项目hadoop-common:   org.apache.maven.plugin.MojoExecutionException:protoc失败 - &gt;   [Help 1] [ERROR] [ERROR]要查看错误的完整堆栈跟踪,   用-e开关重新运行Maven。 [错误]使用-X重新运行Maven   切换以启用完整的调试日志记录[错误] [错误]了解更多   有关错误和可能的解决方案的信息,请阅读   以下文章:[错误] [帮助1]   http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException   [错误] [错误]纠正问题后,您可以恢复   使用命令[ERROR] mvn <goals> -rf :hadoop-common

进行构建

TJ @ DESKTOP-6940Q5M / cygdrive / e / hdc $ protoc --version libprotoc 2.5.0

感谢您在使用-e开关重新运行时错过上传显示的建议。在这里。

无法执行目标org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:项目上的protoc(compile-protoc)hadoop-common:org.apache.maven.plugin.MojoExecutionException:protoc failure - &GT; [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目hadoop-common:org.apache.maven上执行目标org.apache.hadoop:hadoop-maven-plugins:3.0.0-SNAPSHOT:protoc(compile-protoc)。 plugin.MojoExecutionException:protoc失败         在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)         在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)         在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)         在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)         在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)         在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)         在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)         在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)         在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)         在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)         在org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)         在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)         在org.apache.maven.cli.MavenCli.main(MavenCli.java:199)         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)         在java.lang.reflect.Method.invoke(Method.java:497)         在org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)         在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)         在org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)         在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 引起:org.apache.maven.plugin.MojoExecutionException:org.apache.maven.plugin.MojoExecutionException:protoc failure         在org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:105)         在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)         在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)         ......还有20个 引起:org.apache.maven.plugin.MojoExecutionException:protoc失败         在org.apache.hadoop.maven.plugin.protoc.ProtocMojo.execute(ProtocMojo.java:102)         ......还有22个

我真的不知道它的问题是什么,因为我是hadoop的首发。 请帮忙。

2 个答案:

答案 0 :(得分:2)

当出现错误时,hadoop maven protobuf编译器很遗憾无用。

这可能只是.protoc文件中的一些错误,而这些错误没有被报告,而mvn只是失败而没有显示根本原因。

我最终使用protoc命令行工具调试编译问题。

答案 1 :(得分:0)

似乎您需要安装protobuf-compiler。然后构建hadoop-maven-plugins。返回hadoop源代码父目录并执行maven目标

cd <hadoop_source_path>
sudo yum install protobuf-compiler
cd hadoop-maven-plugins
mvn install
cd ..
mvn package -skipTests

这对我有用。