尝试从Windows 7 x64下的源构建hadoop。根据指示Hadoop2OnWindows和BUILDING
我从git克隆了hadoop的源, checkout 到origin/branch-2.5
(SHA-1:fa3bb675a728105d69614f53abe4339958550adf)
然后从Windows控制台运行:
set Platform=x64
clean install -Pdist,native-win -DskipTests -Dtar
并得到错误-
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.5.0-SNAPSHOT:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help 1]
任何想法如何解决这个问题?
最佳答案
hadoop-maven-plugins的协议(protocol)mojo所做的第一件事是它使用Java的java.lang.Process
类来尝试执行以下命令:
protoc --version
基本上,这样做是为了检查系统上的 Protocol Buffer 编译器(protoc)的版本是否与
protobuf
JAR的版本匹配。这样做有4个结果:
protoc
命令(它收到的退出值为127)您正在遇到第二个问题。
如果您尝试从命令行运行
protoc --version
,是否有效?正如他们在其网站上所声明的那样,如果您的系统中有多个版本的
protoc
,则可以在构建 shell 中设置HADOOP_PROTOC_PATH
环境变量,以指向要用于Hadoop构建的变量。如果您未定义此环境变量,则在protoc
中查找PATH
。它可以在您的PATH
上使用吗?如果尚未安装 Protocol Buffer 编译器,则可以从以下位置下载它:
https://developers.google.com/protocol-buffers/docs/downloads
关于java - 如何在Windows下构建hadoop源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26292885/