我正在尝试在我的机器上运行hadoop(Windows x64),但在构建源代码时出现此错误:
[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.3.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionExcepti
on: 'protoc --version' did not return a version -> [Help 1]
正如documentation中所建议并在BUILDING.txt中解释的那样,我在我的PATH vble protoc路径和我的Windows SDK中我可以称之为'protoc --version'没有问题:
C:\Users\hernanbl\Downloads\hadoop-2.3.0-src\hadoop-common-project>protoc --version
libprotoc 2.5.0
此外,版本与hadoop 2.3.0(我正在尝试构建的版本)中使用的版本相同。根据文档中的定义,我做了进一步的更改,例如声明平台vble等等。
我已经用Google搜索了问题,我发现我可能不是唯一一个遇到这个问题的人,但答案并没有给我解决这个问题的线索......
一些想法?谢谢!
答案 0 :(得分:2)
我通过设置指向可执行文件的环境变量来解决它:
set HADOOP_PROTOC_PATH=C:\Path\To\protoc\protoc.exe
答案 1 :(得分:1)
我明白了......仍然是我根本不喜欢的解决方案!如果有人找到了更好的,请告诉我:
修改类ProtocMojo,硬编码protoc.exe的绝对路径:
protocCommand= "C:\\development\\tools\\protoc\\protobuf-2.5.0\\src\\protoc.exe";