protocol buffer 3.5.0生成java server和client程式碼
阿新 • • 發佈:2018-11-11
敬請關注部落格,後期不斷更新優質博文,謝謝
protocol buffer生成java程式碼:
*******************************************************************************手動生成************************************************************************************** 一、安裝maven: 1、配置環境變數 2、驗證是否成功:mvn --version二、安裝protocol3
三、根據.proto檔案生成java檔案 1、生成基本java檔案 Linux生成基本檔案命令:./bin/protoc --java_out=./javafile/ ./javafile/protofile/person.proto
參考: https://blog.csdn.net/y515789/article/details/54377753
四、maven專案整合protoc buffer
生成client端和server端程式碼
使用protocol編譯器protoc和指定的grpc的一個java外掛。
使用maven的protobuf外掛生成相關程式碼
命令列: protoc --java_out=./java/ ./proto/hello.proto
protoc --plugin=protoc-gen-grpc-java=/Users/liuyu9/Documents/personal/golang/src/github.com/grpc-java/compiler/build/exe/java_plugin/protoc-gen-grpc-java --grpc-java_out=./java ./proto/hello.proto
檔案列表如下:
# GreeterGrpc包含服務端和客戶端要實現的一些基本類-rw-r--r-- 1 root staff 7352 Oct 25 18:48 GreeterGrpc.java
# 包含了protocol buffer傳送、序列化、反序列化我們請求和響應程式碼-rw-r--r-- 1 root staff 16207 Oct 25 18:53 HelloReply.java-rw-r--r-- 1 root staff 501 Oct 25 18:53 HelloReplyOrBuilder.java-rw-r--r-- 1 root staff 16192 Oct 25 18:53 HelloRequest.java-rw-r--r-- 1 root staff 493 Oct 25 18:53 HelloRequestOrBuilder.java-rw-r--r-- 1 root staff 3011 Oct 25 18:53 HelloWorldProto.java
*******************************************************************************手動生成**************************************************************************************
*******************************************************************************IDE--Maven專案生成**************************************************************************************
1,配置好pom依賴,直接clean,install即可在target中找到生成的普通類檔案和協議檔案
p
om.xml:
<!-- grpc --><!--<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>1.11.0</version>
</dependency>-->
<dependency>
<groupId>io.grpc </groupId>
<artifactId>grpc-protobuf </artifactId>
<version>1.11.0 </version>
</dependency>
<dependency>
<groupId>io.grpc </groupId>
<artifactId>grpc-stub </artifactId>
<version>1.11.0 </version>
</dependency>
<dependency>
<groupId>com.google.protobuf </groupId>
<artifactId>protobuf-java </artifactId>
<version>3.5.0 </version>
</dependency>
<!-- grpc -->
<plugin>
<groupId>org.xolstice.maven.plugins </groupId>
<artifactId>protobuf-maven-plugin </artifactId>
<version>0.5.0 </version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.5.0:exe:${os.detected.classifier} </protocArtifact>
<pluginId>grpc-java </pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier} </pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile </goal>
<goal>compile-custom </goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins </groupId>
<artifactId>maven-compiler-plugin </artifactId>
<version>2.3.2 </version>
<configuration>
<source>1.8 </source>
<target>1.8 </target>
</configuration>
</plugin> *******************************************************************************IDE--Maven專案生成**************************************************************************************