使用maven外掛生成grpc所需要的Java程式碼
阿新 • • 發佈:2020-12-14
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裡,可以移動到自己專案的相關目錄下面。具體使用方法比較簡單,可以參看官方的例子。