1. 程式人生 > 其它 >Java程式碼實現grpc服務

Java程式碼實現grpc服務

1、單純的使用java和spring的話參考:
https://blog.csdn.net/weixin_33701251/article/details/92600190

2、使用springboot的話 參考:

https://blog.csdn.net/sinat_35477706/article/details/121439364


3、使用eclipse 整合grpc所需的外掛會非常麻煩(本人沒有安裝成功),可參考:

https://www.bbsmax.com/A/n2d9DPnw5D/

https://www.jianshu.com/p/d8b97be3b427

4、使用IDEA 整合grpc所需的外掛非常簡單,可參考:

https://blog.csdn.net/goldenfish1919/article/details/100097864 (整合外掛)
https://blog.csdn.net/amadeus_liu2/article/details/122841423 (簡明易懂的程式碼樣例)


整合外掛就是為了 使用.proto 檔案生成java程式碼。eclipse即使整合失敗,也可以在目錄下自己去生成,或則使用IDEA生成也非常簡單。
生成程式碼後 用eclipse或IDEA開發都是一樣的。

5、pom檔案依賴參考:(grpc-all 應該已經包含了 grpc-server-spring-boot-starter, grpc-client-spring-boot-starter,一種是spring的依賴,一種是springboot方式的依賴,)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>grpcdemo</artifactId>
<groupId>com.grpc</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>grpc-api</artifactId>

<dependencies>

<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-all</artifactId>
<version>1.15.1</version>
</dependency>

</dependencies>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.4.1.Final</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.5.0</version>
<configuration>
<!--suppress UnresolvedMavenProperty -->
<protocArtifact>com.google.protobuf:protoc:3.0.0:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<!--suppress UnresolvedMavenProperty -->
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.0:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
<!--<plugin>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-maven-plugin</artifactId>-->
<!--</plugin>-->
</plugins>
</build>

</project>