2015-06-24 17 views
12

Tôi vừa mới bắt đầu phát với Google proto. Khi tôi cố gắng biên dịch tệp proto trong ví dụ proto-java, nó không tạo ra bất kỳ tệp grpc nào.protoc không tạo các tệp bản ghi dịch vụ

tập proto, https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto

ngõ ra,

rsonkhla @ Raman-OptiPlex-9020: ~/sandbox/grpc-java/ví dụ $ protoc --version libprotoc 3.0.0 rsonkhla @ raman-OptiPlex-9020: ~/hộp cát/grpc-java/ví dụ $ protoc --java_out = test/-I ../../ grpc-java/example ../../grpc-java/examples/ src/main/proto/hello_world.proto rsonkhla @ raman-OptiPlex-9020: ~/hộp cát/grpc-java/ví dụ $ ls -R kiểm tra/ kiểm tra /: io

thử nghiệm/io: grpc

thử nghiệm/io/grpc: ví dụ

thử nghiệm/io/grpc/ví dụ: helloworld

thử nghiệm/io/grpc/ví dụ/helloworld: HelloRequest.java
HelloResponse.java HelloWorldProto.java HelloRequestOrBuilder.java HelloResponseOrBuilder.java

Có ai khác phải đối mặt với vấn đề này?

+0

Vui lòng bỏ qua. Tôi không vượt qua đường dẫn plugin protoc-gen-grpc-java khi biên dịch ... –

+0

rsonkhla @ raman-OptiPlex-9020: ~/sandbox/grpc-java/ví dụ $ protoc --plugin = protoc-gen-java_rpc = ../compiler/build/binaries/java_pluginExecutable/protoc-gen-grpc-java --java_rpc_out = test/--java_out = test/-I. src/main/proto/hello_world.proto thử nghiệm/io/grpc/ví dụ/helloworld: GreeterGrpc.java HelloRequest.java HelloRequestOrBuilder.java HelloResponse.java HelloResponseOrBuilder.java HelloWorldProto.java –

+0

tôi sử dụng protobuf-maven-plugin, Nó cũng không thể tạo tệp sơ khai dịch vụ. –

Trả lời

13

Dòng lệnh bạn đang hiển thị không bật plugin grpc. Bạn cần phải xác định một đối số _out cho plugin grpc, cho phép plugin và chỉ định nơi nó sẽ xuất ra các tệp. Vì plugin có thể không nằm trong số PATH của bạn, bạn cũng cần nói cho protoc cách tìm plugin bằng --plugin.

Vì vậy, bạn cần phải thêm hai đối số:

--plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java --grpc-java_out=path/to/output/dir 

Mọi chi tiết, xem các gRPC compiler documentation.

+0

Xin chào Eric, tôi đang cố gắng thực hiện công việc này, tôi đã tải xuống protoc-gen-grpc-java.jar từ maven, nhưng không cần biết làm cách nào để đưa nó vào đối số đó, nó vẫn sẽ cho tôi biết rằng "không tìm thấy tệp hoặc không thực thi được ", có lẽ tôi sẽ có một số tạo phẩm khác thay vì tệp jar? – vach

+0

là "đường dẫn/đến/protoc-gen-grpc-java" của bạn trỏ đến tệp jar hoặc cái gì khác? – vach

+3

đường dẫn/đến/protoc-gen-grpc-java là một tệp nhị phân (ví dụ: bản nhị phân ELF gốc cho Linux). Nó không phải là một JAR. Bạn có thể tìm các phiên bản được tạo sẵn tại http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.grpc%22%20a%3A%22protoc-gen-grpc-java%22 (ví dụ: , linux-x86_32.exe, có thể được sử dụng như '--plugin = protoc-gen-grpc-java = đường dẫn/đến/linux-x86_32.exe') –

Các vấn đề liên quan