win10系统,jdk1.8,protobuf3.5.1, gRPC1.10.0。
//message.proto
syntax = "proto3";
package filter.proto;
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
service FilterService{
rpc FilterBlack(Mobile) returns (BlackResult) {}
}
message Mobile{
string mobile = 1;
}
message BlackResult{
bool result=1;
}
protoc只生成Mobile,BlackResult相关代码,并不生成service相关的代码。
在网上查到必须要设置插件protoc-gen-grpc-java,找到一篇文章 从Protocol Buffers 到 gRPC
按照上面的操作下载gRPC的git代码自行编译,但是总是碰到错误,各种出错,大概因该是一些文件因为墙的原因下载失败。
于是我从 maven中央仓库下载了protoc-gen-grpc-java-1.10.0-windows-x86_64.exe ,与protoc.exe放在同一目录下。使用如下命令
E:/RPC/protoc/bin/protoc --plugin=protoc-gen-grpc-java=E:/RPC/protoc/bin/protoc-gen-grpc-java-1.1