在输出文件中找不到protobuf服务

时间:2013-10-23 03:05:10

标签: java protocol-buffers

我在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

1 个答案:

答案 0 :(得分:5)

请参阅java_generic_services option。您需要将其添加到.proto文件中:

option java_generic_services = true;

但是,这只有在您使用某些RPC实现(或想要编写自己的实现)时才有用。该选项默认为false,因为预计大多数RPC实现都希望编写自定义代码生成器而不是使用" generic"生成的服务。