java下使用gRPC的helloworld的demo实现
话说在前头
因为正在研究SOA的事情,所以最近有在关注gPRC,gRPC是跨语言的,在使用的过程中有各种不顺利的事情,这一篇就详细记录一下我的使用过程。
我的使用到的配置:
- IDE:IntelliJ IDEA Community Edition 2018.2.1
- SDK版本:10.0.2
- gRPC版本:1.14.0
接下来就开始了
新建一个普通的Maven项目:
首先创建一个Maven项目
配置pom文件,导入gRPC的依赖和插件
添加两项内容,具体的内容参照官方网站grpc-java的Github地址 的 README.md
。
我参照的是2018年8月15日给出的。
添加grpc
依赖(包含TCP通信和protobuf序列化和反序列化)。
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.14.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.14.0</version>
</dependency>
添加编译proto
文件的编译程序和对应的编译插件。
<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.14.0:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>