2016-03-11 2 views
3

Кто-нибудь знает, как скомпилировать * .proto файлы для приложения grpc в maven?Использование grpc in maven

Это, как я компиляции Protobuf в мавена - (старый способ, используя установленный protoc компилятор, отрывок из pom.xml):

<build> 
    <plugins> 

     <!-- protocol buffers runner, requires protoc --> 
     <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>generate-protobuf-sources</id> 
      <phase>generate-sources</phase> 
      <configuration> 
       <tasks> 
       <mkdir dir="target/generated-sources/java" /> 

       <exec executable="protoc"> 
        <arg value="--java_out=target/generated-sources/java" /> 
        <arg value="src/main/protobuf/hello.proto" /> 
       </exec> 
       </tasks> 
       <sourceRoot>target/generated-sources/java</sourceRoot> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

Интересно, если что-то подобное возможно КПГР. Из того, что я понимаю, мне нужно как-то подключить плагин protoc-gen-grpc-java с protobuf, но я не уверен, как это сделать.

ОБНОВЛЕНИЕ: для тех, кто заинтересован, я создал полностью рабочий пример приложения клиент-сервер, используя maven on github.

ответ

6

Я настоятельно рекомендую использовать protobuf-maven-plugin, как описано в grpc-java README.

Если вы действительно хотите сделать это вручную, вы можете скачать protoc-GEN-КПГР-Java от Maven Central и добавить еще < аргумент> для ехеса из protoc: --plugin=protoc-gen-grpc-java=path/to/protoc-gen-grpc-java

+0

Спасибо! Это работает. – Alex

+0

Я обновил свой вопрос ссылкой на мой github repo с полностью работающим примером. – Alex

+0

Пошаговое руководство с использованием grpc-java и maven на https://bertrandszoghy.wordpress.com/2017/06/01/protocol-buffers-grpc-client-and-server-using-secure-channels-with-java/ –