我正在学习grpc。这是一个简单的 hello world 示例:
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.helloworld";
option java_outer_classname = "HelloWorldProto";
option objc_class_prefix = "HLW";
package helloworld;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc SayHelloAgain (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
当我使用 gradle 的“com.google.protobuf”插件生成代码时,我得到:
└─proto
└─main
├─grpc
│ └─io
│ └─grpc
│ └─helloworld
│ GreeterGrpc.java
│
└─java
└─io
└─grpc
└─helloworld
HelloReply.java
HelloReplyOrBuilder.java
HelloRequest.java
HelloRequestOrBuilder.java
HelloWorldProto.java
当我使用 protoc(
protoc --plugin=protoc-gen-grpc-java --java_out=. .\src\main\proto\helloworld.proto
) 生成代码时,我得到:
└─io
└─grpc
└─helloworld
HelloReply.java
HelloReplyOrBuilder.java
HelloRequest.java
HelloRequestOrBuilder.java
HelloWorldProto.java
我想知道我使用protoc时的GreeterGrpc.java在哪里
“--java_out”标志指定存储 Java 插件结果的位置,但您尚未指定任何地方来指定 gRPC 插件。
您还应该指定
--grpc-java_out=.
。