2016-07-20 2 views
3

У меня возникли проблемы с созданием заглушек из моего файла .proto в GRPC. Вот что файл .proto выглядитПротокольные буферы не генерируют служебные заглушки

`syntax = "proto3";` 
// The greeting service definition. 
service Greeter { 
    // Sends a greeting 
    rpc SayHello (HelloRequest) returns (HelloReply) {} 
} 

// The request message containing the user's name. 
message HelloRequest { 
    string name = 1; 
} 

// The response message containing the greetings 
message HelloReply { 
    string message = 1; 
} 

Файл делает генерировать protocal код буфера, но я не получаю никаких заглушек услуг из него. И.Е. Я не могу использовать блокирующие заглушки.

Я попытался использовать исправление «java_multiple_files = true», но это просто разбивает сгенерированный прото-файл на несколько отдельных прото-файлов.

В настоящее время я использую следующую строку командной строки для создания моих прото-файлов.

protoc --proto_path= src\proto\protoFile.proto --java_out=src\sourceThings 

Сообщите мне, если у вас есть идеи или нужна дополнительная информация.

Спасибо! -DJ

ответ

3

Чтобы получить КПГРЫ окурков, вам нужно сказать protoc использовать плагин КПГР, как:

protoc --java_out=src/sourceThings --grpc-java_out=src/sourceThings 

Вы должны убедиться, что программа protoc-gen-grpc-java находится в вашем PATH, или вы «должны будете указать свое местоположение с помощью флага, как:

--plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java 

См: https://github.com/grpc/grpc-java/tree/master/compiler

+0

Отлично, спасибо Kenton. –

+0

Эй, Кентон, быстрый вопрос. Я использовал следующий импорт графа для переноса protoc-gen-grpc-java в свою «группу компиляции:« io.grpc », имя:« protoc-gen-grpc-java », версия:« 0.15.0 ». Однако, когда я запускаю приглашение командной строки, система выдает следующую ошибку: «--grpc-java_out: protoc-gen-grpc-java: система не может найти указанный файл». Это моя подсказка командной строки: «protoc --java_out = src/sourceStuff --grpc-java_out = src/sourceStuff --proto_path = src \ proto \ biGuide.proto». У вас есть представление, что может быть неправильным? –

+0

Для упрощения, вот два gyzaos, которые показывают мой импорт градиента и результат командной строки. https://gyazo.com/c5a7ae1cccf2ecd4c8dc25afec1f0ba2 || https://gyazo.com/3460a2bc4b7a3890bb488889e2f390bc –

Смежные вопросы