我在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
答案 0 :(得分:5)
请参阅java_generic_services
option。您需要将其添加到.proto
文件中:
option java_generic_services = true;
但是,这只有在您使用某些RPC实现(或想要编写自己的实现)时才有用。该选项默认为false,因为预计大多数RPC实现都希望编写自定义代码生成器而不是使用" generic"生成的服务。