> .proto生成java或其他语言

1. 首先看看一个简单的service.proto文档

~~~

syntax = "proto3";

option java_package = "com.zjm.gRpc.service"; //产生文件存放的包路径

option java_outer_classname = "GRpcService"; //通讯类

option java_multiple_files = true; //是否产生多个类,如果false就会产生很多内部类

// 定义通用的 GRpc 服务,会生成CommonServiceGRpc,客户端去里面的Stub,服务端要实现里面的handle,handle是里面定义的方法

service CommonService {

// 处理请求

rpc handle ( Request ) returns ( Response ) {} //这是定义的方法,参数会有Request这个类,返回Response这个类

}

// 定义通用的 GRpc 请求体

message Request {

int32 serialize = 1; //这个请求,会有一个序列化索引,用于服务端的序列化方法

bytes request = 2; //byte[],这个是请求的真正requestBody

}

// 定义通用的 GRpc 响应体

message Response {

bytes response = 1; //byte[],这个是请求的真正responseBody

}

~~~

1. Request和Response和GRpcService的model生成

```

cd G:\protoc-3.9.1-win64\bin

G:

protoc --java_out=./ service.proto

```

这时候会在当前目录生成

com\zjm\gRpc\service目录(这时候生成的是没有CommonServiceGrpc这个service的)

![](https://img.kancloud.cn/f9/dc/f9dc8a7959818902103dca736dff53ce_1044x199.png)

2. 生成service(CommonServiceGrpc)

```

cd G:\protoc-3.9.1-win64\bin

G:

protoc --plugin=protoc-gen-grpc-java=./gen.exe --grpc-java_out=./ service.proto

```

会在com\zjm\gRpc\service生成CommonServiceGrpc

3. 我的目录

![](https://img.kancloud.cn/01/c6/01c62778513f481474004bf95a697d1a_1052x365.png)

记得去下载和你使用protobuff相同的protoc编译器,我的是java里面使用的protobuff 3.7.1,所以下载的protoc是3.7.1([https://github.com/google/protobuf/releases](https://github.com/google/protobuf/releases))

然后去下载protoc-gen-grpc-java-1.10.0-windows-x86_64.exe(http://central.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.10.0/protoc-gen-grpc-java-1.10.0-windows-x86_64.exe) ,这个下载后放在bin里面

proto生成java类_.proto生成java或其他语言相关推荐

  1. jaxb 生成java类_重用生成的JAXB类

    jaxb 生成java类 在本文中,我将演示如何利用XJC扩展来重用以前从XML模式生成的类. 当其他XML架构导入XML架构并且您不想每次都生成相同的类时,这很有用. 导入的架构(Product.x ...

  2. xsd 生成 java 类_如何从Java类生成XSD

    xsd 生成 java 类 In last few posts, we learned about Java JAXB and how to generate java class from XSD. ...

  3. groovy 使用java类_深入学习java中的Groovy 和 Scala 类

    前言 Java 传承的是平台,而不是语言.有超过 200 种语言可以在 JVM 上运行,它们之中不可避免地会有一种语言最终将取代 Java 语言,成为编写 JVM 程序的最佳方式.本系列将探讨三种下一 ...

  4. 有一个包含主函数的java类_重新认识Java中的程序入口即主函数各组成部分

    主函数的定义: public:代表着该函数访问权限是最大的 static:代表主函数随着类的加载就已经存在了 void:主函数没有具体的返回值 main:不是关键字,但是一个特殊的单词,能够被JVM识 ...

  5. java自动生成代码原理_原来这就是Java代码生成器的原理啊,太简单了

    前几天写了篇关于代码生成器的文章(可查看历史文章),不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场景 我们在编码中存 ...

  6. java铲车_深入研究Java类装载机制

    目录 1.为什么要研究java类装在机制? 2.了解类装载机制,对于我们在项目开发中有什么作用? 3.装载实现细节. 4.总结 一.为什么药研究Java类装载机制 java类加载机制,便于我们使用自定 ...

  7. java自动生成类_自动生成优化的Java类专业知识

    java自动生成类 如果您今年访问过JavaOne,您可能已经参加了我的演讲"如何从数据库生成定制的Java 8代码". 在那次演讲中,我展示了如何使用Speedment Open ...

  8. 生成验证码的java类_生成验证码的java类

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffere ...

  9. java类到proto定义转换工具

    使用情景,开发时,mybatis可以generator生成对应的实体类,可是实体类到proto定义还是需要自己实现,写一个转换工具便于开发,需要输出到文件请自行拓展 ,默认 生成的proto文件定义加 ...

最新文章

  1. 如何网络推广教大家怎样通过提高用户粘性来助力排名提升?
  2. 对我影响最大的三个老师
  3. 服务器怎样共享文件夹共享文件夹,服务器怎样共享文件夹共享文件夹
  4. if test 多条件_if函数进阶篇 嵌套+多条件判断
  5. linux每天一小步---sed命令详解
  6. 求解ax + by = c 这类方程
  7. QQ浏览器如何开启夜间模式 夜间模式使用技巧分享
  8. 初学者的持续集成和交付(DevOps)
  9. 视频质量,分辨率,码率之间的关系 2
  10. 微生物生态排序分析——CCA分析
  11. 可编辑ppt地图分布图怎么做?
  12. G711 G723 G729线路占多少带宽问题
  13. 基于中间人攻击给电视盒子安装apk
  14. calib matlab,使用Matlab Toolbox_calib进行摄像机标定
  15. 9. DICOM图像显示-DCMTK-窗宽窗位调整和源码分析
  16. 【Nmap】常用命令「一」——活跃主机发现
  17. iPad谷歌浏览器怎么开摄像头_谷歌浏览器书签栏怎么显示_谷歌浏览器显示书签栏步骤...
  18. Quantopian 入门系列二 - 流水线 (下)
  19. java中的notify和notifyAll有什么区别?
  20. java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。

热门文章

  1. 零基础学室内设计要多久才能学好?
  2. 基于Python Flask框架的共享自习室预约系统的设计与实现-计算机毕业设计源码+LW文档
  3. Android 学习方法
  4. Java 反射 ---- 获取方法信息
  5. 使用substr获取string子串
  6. LeetCode Weekly Contest 194
  7. python基础课程设计项目_python项目
  8. 【MT7628】固件开发-SDK4320添加MT7628 WiFi驱动操作说明
  9. 也谈析构:析构函数何时被调用
  10. 60个灵遁者诗歌集句子摘录