2017-02-27 5 views
0

下記のコマンドラインでprotoファイルをコンパイルしています。Java protocのコンパイルの問題

protoc -I ./ --python_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` ./test.proto 

上記のコマンドは、私が発行しているのは、Pythonベースのコードを生成することです。正常に動作します。

同じコマンドをJavaベースのコードで発行しようとしましたが、エラーが発生しました。

protoc -I ./ --java_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_java_plugin` ./test.proto 

私のプラグインディレクトリを調べたところ、次のプラグインがインストールされていてもJavaはインストールされていないことがわかりました。

grpc_csharp_plugin 
grpc_cpp_plugin 
grpc_objective_c_plugin 
grpc_node_plugin 
grpc_python_plugin 
grpc_ruby_plugin 

Java Pluginをどのように見つけることができますか?

+0

javaプラグインはありません。protocを使用する場合は--java_outを使用し、protoc -I =。/ - java_out =を発行してプラグインパラメータ –

+0

を削除します。 ./test.proto私はファイルを生成することができます。 – Ammad

+0

@BruceMartin回答欄で返信できますか? – Ammad

答えて

1

プラグインがMavenの中央でホストされている:http://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/

Java用いるProtobufプラグイン(それはprotocに内蔵されている)がありませんが、gRPCはスタブを生成するためにプラグインがあります。通常、これはデフォルトでGradleプラグインとして提供されますが、手動でプラグインをダウンロードして使用することができます。現在、Linux、OSX、Windowsのビルドがあります。