5

proto ファイルで rpc サービスを定義しましたが、出力された Java ファイルにインターフェイスまたはメソッドが見つかりません。

$ protoc -v 
libprotoc 2.5.0

プロトファイル:

service EchoService {
    rpc Echo (Person) returns (Person);
}

コンパイル スクリプト:

#!/bin/bash

for file in `find src/main/proto -name "*.proto"`; do
    protoc --proto_path=src/main/proto --java_out=src/main/java/ $file
done
4

1 に答える 1

6

java_generic_servicesオプションを参照してください。.protoこれをファイルに追加する必要があります。

option java_generic_services = true;

ただし、これは、使用する RPC 実装がある場合 (または独自の RPC 実装を作成したい場合) にのみ役立ちます。ほとんどの RPC 実装では、生成された「一般的な」サービスを使用するのではなく、カスタム コード ジェネレーターを作成する必要があると予想されるため、このオプションのデフォルトは false です。

于 2013-10-23T22:01:37.190 に答える