2015-06-24 13 views
12

Ho appena iniziato a giocare con google proto. Quando provo a compilare il proto file presente nell'esempio proto-java, non genera alcun file grpc.protoc non genera file stub di servizio

file di proto, https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto

terminale di uscita,

rsonkhla @ Raman-OptiPlex-9020: ~/sandbox/grpc-java/esempi $ ProtoC --version libprotoc 3.0.0 rsonkhla @ raman-OptiPlex-9020: ~/sandbox/grpc-java/examples $ protoc --java_out = test/-I ../../ grpc-java/examples ../../grpc-java/examples/ src/main/proto/hello_world.proto rsonkhla @ raman-OptiPlex-9020: ~/sandbox/grpc-java/esempi $ ls -R test/ test /: io

test/io: grpc

test/io/grpc: esempi

test/io/grpc/Esempi: helloworld

test/io/grpc/examples/helloworld: HelloRequest.java
HelloResponse.java HelloWorldProto.java HelloRequestOrBuilder.java HelloResponseOrBuilder.java

ha chiunque altro affrontato questo problema?

+0

Si prega di ignorare. Non ho passato il percorso del plugin protoc-gen-grpc-java durante la compilazione ... –

+0

rsonkhla @ raman-OptiPlex-9020: ~/sandbox/grpc-java/esempi $ 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 test/IO/grpc/examples/helloworld: GreeterGrpc.java HelloRequest.java HelloRequestOrBuilder.java HelloResponse.java HelloResponseOrBuilder.java HelloWorldProto.java –

+0

io uso protobuf-maven-plugin, E inoltre non può generare file stub di servizio. –

risposta

13

La riga di comando che si sta visualizzando non abilita il plugin grpc. È necessario specificare un argomento _out per il plugin grpc, che abilita il plugin e specifica dove deve essere esportato i file. Dal momento che il plug-in probabilmente non è nel tuo PATH, devi anche dire a protoc come trovare il plugin con --plugin.

Quindi è necessario aggiungere due argomenti:

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

Per ulteriori informazioni, vedere la gRPC compiler documentation.

+0

Ciao Eric, sto provando a farlo funzionare, ho scaricato protoc-gen-grpc-java.jar da Maven, ma non importa come lo alimento a quell'argomento mi dirà comunque che "file non trovato o non è eseguibile ", forse avrò qualche altro artefatto al posto del file jar? – vach

+0

è il tuo "path/to/protoc-gen-grpc-java" che punta a un file jar o qualcos'altro? – vach

+3

path/to/protoc-gen-grpc-java è un binario (ad es. Un binario ELF nativo per Linux). Non è un JAR. Puoi trovare versioni pre-costruite su http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.grpc%22%20a%3A%22protoc-gen-grpc-java%22 (ad es. , linux-x86_32.exe, che potrebbe essere usato come '--plugin = protoc-gen -grpc-java = percorso/a/linux-x86_32.exe') –

Problemi correlati