Ram*_*hla 22 protocol-buffers grpc protoc
我刚开始玩谷歌原型.当我尝试编译proto-java示例中存在的proto文件时,它不会生成任何grpc文件.
proto文件, https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto
终端输出,
rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ protoc --version libprotoc 3.0.0 rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ protoc --java_out = test/-I ../../ grpc-java/examples ../../grpc-java/examples/src/main/proto/hello_world.proto rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ ls -R test/test /:io
test/io:grpc
test/io/grpc:示例
test/io/grpc/examples:helloworld
test/io/grpc/examples/helloworld:HelloRequest.java
HelloResponse.java HelloWorldProto.java HelloRequestOrBuilder.java HelloResponseOrBuilder.java
还有其他人遇到过这个问题吗?
Eri*_*son 25
您显示的命令行未启用grpc插件.您需要为grpc插件指定一个_out参数,该参数启用插件并指定它应该输出文件的位置.由于插件可能不在你的插件中PATH,你还需要告诉protoc如何找到插件--plugin.
所以你需要添加两个参数:
--plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java --grpc-java_out=path/to/output/dir
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅gRPC 编译器文档.
djz*_*zhu 16
您可以将这些选项添加到您的 .proto(基于您的语言)以生成抽象服务:
option cc_generic_services = true;
option java_generic_services = true;
option py_generic_services = true;
Run Code Online (Sandbox Code Playgroud)
您还--plugin=EXECUTABLE可以在protoccmd 中添加选项以使用自定义code generator plugin来生成更特定于每个系统的代码,而不是依赖于“抽象”服务。就像埃里克的建议一样。
| 归档时间: |
|
| 查看次数: |
11720 次 |
| 最近记录: |