1. 程式人生 > 實用技巧 >使用maven外掛生成grpc所需要的Java程式碼

使用maven外掛生成grpc所需要的Java程式碼

1、首先需要編寫自己需要的.proto檔案,本文重點不在這裡,.proto可以參考grpc官方例子

https://grpc.io/docs/quickstart/java.html

2、建立自己的Java工程(只要是maven工程就行),把.proto檔案放到src/main/proto目錄下面

3、在專案的pom.xml中加入相關外掛的配置內容,可以直接複製grpc官方的,實測很好用

https://github.com/grpc/grpc-java

<build>
  <extensions>
    <extension>
      <groupId>kr.motd.maven</groupId>
      <artifactId>os-maven-plugin</artifactId>
      <version>1.5.0.Final</version>
    </extension>
  </extensions>
  <plugins>
    <plugin>
      <groupId>org.xolstice.maven.plugins</groupId>
      <artifactId>protobuf-maven-plugin</artifactId>
      <version>0.5.1</version>
      <configuration>
        <protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}</protocArtifact>
        <pluginId>grpc-java</pluginId>
        <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.17.1:exe:${os.detected.classifier}</pluginArtifact>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>compile</goal>
            <goal>compile-custom</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

4、然後在IDE的maven面板上分別點選下面兩個任務。點選protobuf:compile生成的5個檔案是與protobuf序列化相關的,也就相當於是資料交換時的java bean。點選protobuf:compile-custom生成的1個檔案是與grpc相關的,主要用於與服務端通訊的。

5、自動生成的程式碼在target/generated-sources/protobuf裡,可以移動到自己專案的相關目錄下面。具體使用方法比較簡單,可以參看官方的例子。

https://grpc.io/docs/quickstart/java.html