1. 程式人生 > >protocol buffer 3.5.0生成java server和client程式碼

protocol buffer 3.5.0生成java server和client程式碼

敬請關注部落格,後期不斷更新優質博文,謝謝

protocol buffer生成java程式碼:

*******************************************************************************手動生成************************************************************************************** 一、安裝maven: 1、配置環境變數 2、驗證是否成功:mvn --version
二、安裝protocol3
1、下載 protoc-3.5.0-alpha-2-windows-x86_64.exe protoc-gen-grpc-java-1.0.1-windows-x86_64.exe 2、配置到Path環境變數中: 3、驗證是否成功: DOS執行protoc --version即可
三、根據.proto檔案生成java檔案 1、生成基本java檔案 Linux生成基本檔案命令:./bin/protoc --java_out=./javafile/ ./javafile/protofile/person.proto
windows生成基本檔案命令:./bin/protoc --java_out=./javafile/ ./javafile/protofile/person.proto   (protoc --java_out=./javafile/ ./javafile/protofile/person.proto ) 2、生成服務類java檔案 在DOS中執行如下命令生成GreeterGrpc服務類檔案 protoc --plugin=protoc-gen-grpc-java=D:\Java工具\gRPC\protoc-gen-grpc-java-1.0.1-windows-x86_64.exe --grpc-java_out=java --proto_path=protofile protofile/
helloworld.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

生成grpc通訊程式碼 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專案生成**************************************************************************************