在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ protoc不生成.proto中的service,只生成model相關(guān)類,求助。

protoc不生成.proto中的service,只生成model相關(guān)類,求助。

win10系統(tǒng),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相關(guān)代碼,并不生成service相關(guān)的代碼。

在網(wǎng)上查到必須要設(shè)置插件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.10.0-windows-x86_64.exe
--proto_path=E:/Java/protobuf --java_out=E:/Java/protobuf   message.proto

但是仍然無法生成service的代碼?,F(xiàn)在這個插件protoc-gen-grpc-java-1.10.0-windows-x86_64.exe已經(jīng)有了,我該如何讓它生效?

回答
編輯回答
壞脾滊

已解決,需要運行兩次,參數(shù)要有變化。

  1. 生成model
    E:/RPC/protoc/bin/protoc --proto_path=E:/Java/protobuf --java_out=E:/Java/protobuf message.proto

2.生成service
E:/RPC/protoc/bin/protoc --plugin=protoc-gen-grpc-java=E:/RPC/protoc/bin/protoc-gen-grpc-java-1.10.0-windows-x86_64.exe
--proto_path=E:/Java/protobuf --grpc-java_out=E:/Java/protobuf message.proto

2017年10月14日 21:36