2016-07-20 7 views
3

GRPCの.protoファイルからスタブを生成するときに問題が発生します。ここでは.protoファイルがProtocalバッファでサービススタブが生成されない

`syntax = "proto3";` 
// The greeting service definition. 
service Greeter { 
    // Sends a greeting 
    rpc SayHello (HelloRequest) returns (HelloReply) {} 
} 

// The request message containing the user's name. 
message HelloRequest { 
    string name = 1; 
} 

// The response message containing the greetings 
message HelloReply { 
    string message = 1; 
} 

ファイルがprotocalバッファコードを生成し次のようになりますが、私はそれのうちのいずれかのサービスのスタブを取得していませんよ。 I.ブロッキングスタブは使用できません。

"java_multiple_files = true"修正を使用しようとしましたが、生成されたprotoファイルをいくつかの別々のprotoファイルに分割するだけです。

私は現在、以下のコマンドプロンプトを使ってプロトファイルを生成しています。

protoc --proto_path= src\proto\protoFile.proto --java_out=src\sourceThings 

あなたにアイデアがあるか、それ以上の情報が必要な場合は教えてください。

ありがとうございます! -dj

答えて

3

gRPCスタブを取得するには、同様に、gRPCプラグインを使用するprotocを指示する必要があります:

protoc --java_out=src/sourceThings --grpc-java_out=src/sourceThings 

あなたがプログラムprotoc-gen-grpc-javaがPATHにあることを確認する必要がありますか「のようなフラグを使用して、その場所を指定する必要がありますでしょう:

--plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java 

参照:https://github.com/grpc/grpc-java/tree/master/compiler

+0

優れた、あなたにケントンに感謝。 –

+0

ちょっとケントン、簡単な質問です。私は私のプログラムに "compile group: 'io.grpc'という名前の 'protoc-gen-grpc-java'、バージョン: '0.15.0'"というprotoc-gen-grpc-javaを持って来るために、しかし、コマンドラインプロンプトを実行すると、システムは次のエラーをスローします。 "--grpc-java_out:protoc-gen-grpc-java:システムは指定されたファイルを見つけることができません"。これは私のコマンドラインプロンプト "protoc --java_out = src/sourceStuff --grpc-java_out = src/sourceStuff --proto_path = src \ proto \ biGuide.proto"です。あなたは何がうまくいかないのか考えていますか? –

+0

簡潔にするために、私のgradleのインポートを示す2つのギザと、コマンドラインプロンプトの結果を示します。 https://gyazo.com/c5a7ae1cccf2ecd4c8dc25afec1f0ba2 || https://gyazo.com/3460a2bc4b7a3890bb488889e2f390bc –

関連する問題