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 实现可以与它一起使用(或想要编写自己的)时才有用。该选项默认为 false,因为预计大多数 RPC 实现都希望编写自定义代码生成器,而不是使用“通用”生成的服务。

于 2013-10-23T22:01:37.190 回答