Das erste, was die Protoc mojo des Hadoop-Maven-Plugins ist nicht nutzt java.lang.Process
Klasse Java um zu versuchen, den folgenden Befehl auszuführen:
protoc --version
Im Grunde ist es das, dass die Version von überprüfen tun Der Protocol Buffer Compiler (Protokoll) auf Ihrem System entspricht der Version protobuf
JAR.
Es gibt 4 Ergebnisse für diesen:
- es nicht den
protoc
Befehl auszuführen finden kann (es erhält einen Exit-Wert von 127)
- es nicht nicht den Ausgang Wert von 127 erhalten , sondern erhält auch eine Version Wert
- eine Version nicht zurückgegeben wird zurückgegeben, sondern die des protobuf jar
- eine Version zurückgegeben wird, und es ist, dass der protobuf jar nicht
012 entspricht entspricht
Sie erleben die 2. Ausgabe.
Wenn Sie versuchen, protoc --version
von der Befehlszeile ausgeführt wird, funktioniert es? Wenn sie in ihrem System mehrere Versionen von protoc
in Ihrem System haben, können Sie in Ihrer Build-Shell die Umgebungsvariable HADOOP_PROTOC_PATH
so einstellen, dass sie auf diejenige verweist, die Sie für die Hadoop-Erstellung verwenden möchten. Wenn Sie diese Umgebungsvariable nicht definieren, wird protoc
im PATH
nachgeschlagen. Ist es auf Ihrem PATH
verfügbar?
Wenn Sie nicht das Protokoll Buffer-Compiler installiert haben Sie es unter der folgenden Adresse heruntergeladen werden: https://developers.google.com/protocol-buffers/docs/downloads
zu bauen protobuf auf Mac/OS X Download: https: //protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2 Kompilierung Protokollpuffer mit Klirren/libC++: tar xfvj protobuf-2.5.0.tar.bz2 cd protobuf-2.5.0 configure CC = Klirren CXX = clang ++ CXXFLAGS = '- std = C++ 11 -stdlib = libC++ -O3 -g' LDFLAGS = '- stdlib = libC++' LIBS = "- lC++ -lC++ abi" make -j 4 sudo make install Siehe https://wiki.ripple.com/OSX_Build_Instructions – amar