2013-10-23 19 views
4

我在proto文件中定义了rpc服务,但在输出java文件中找不到任何接口或方法。在输出文件中找不到protobuf服务

$ 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 

回答

5

java_generic_services option。您需要添加到您的.proto文件:

option java_generic_services = true; 

但是,如果你有一些RPC实现用它来使用(或想要写你自己的),这是唯一有用的。该选项默认为false,因为预计大多数RPC实现将希望编写自定义代码生成器,而不是使用“通用”生成的服务。