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里,可以移动到自己项目的相关目录下面。具体使用方法比较简单,可以参看官方的例子。

https://grpc.io/docs/quickstart/java.html

最新文章

  1. linux原始套接字(3)-构造IP_TCP发送与接收
  2. python flask应用部署
  3. ICMP-type对应表
  4. DFS:Red and Black(POJ 1979)
  5. Oracle RAC inventory.xml损坏后如何修复
  6. A1486. 树(王康宁)
  7. W3C小组宣布:HTML5标准制定完成
  8. C语言奇思妙想:求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)
  9. Android Asynctask的优缺点
  10. 201521123011《Java程序设计》第11周学习总结
  11. jQuery点击图片放大拖动查看效果
  12. java发送163邮件
  13. U盘出现很多.exe的文件处理方案
  14. 斜率优化dp的总结
  15. RK3288 mipi屏参数配置文件
  16. codeforces水题100道 第九题 Codeforces Beta Round #63 (Div. 2) Young Physicist (math)
  17. 【bug】使用微信分享SDK,配置成功但分享信息异常
  18. Qt——元对象和属性机制
  19. 【bzoj3598】 Scoi2014—方伯伯的商场之旅
  20. runtime查找 UIAlertAction 的key 及 UIActionSheet 设置字体颜色

热门文章

  1. POJ 3321 Apple Tree 【树状数组+建树】
  2. python 解决粘包问题
  3. VMware虚拟机修改BIOS启动项
  4. flask笔记(三)Flask 添加登陆验证装饰器报错,及解析
  5. #leetcode刷题之路9- 回文数
  6. Codeforces Round #491 (Div. 2)部分题解
  7. chromium之revocable_store
  8. ABAP术语-Object Name
  9. Java 的标识接口作用
  10. Intellij IDEA切换maven