window中使用protobuf3.9.2生成java类

1、下载相关的文件protoc-3.9.2.rar

https://pan.baidu.com/s/1gihC0xAQzS5e65zOLXSFbw

2、配置环境变量

我这里是windows 10的系统,可以直接加到Path变量里面

3.测试一下是否成功,以下代表成功了。

4.自己编写.proto 文件,每个字段都安排生成的顺序例如=1,=2;

Protobuf3 标量值类型

  标量消息字段可以具有以下类型之一——该表显示了.proto文件中指定的类型,以及自动生成的类中的相应类型:

.proto类型说明C++ 类型Java 类型Python类型Go类型Ruby类型C#类型PHP类型
double double double float float64 Float doublefloat
float float float float float32 Float float float
int32 使用可变长度编码。编码负数效率低下——如果你的字段可能有负值,请改用sint32。int32 int int int32 Fixnum或Bignum(根据需要)int integer
int64使用可变长度编码。编码负数效率低下——如果你的字段可能有负值,请改用sint64。int64 long int/long[3] int64 Bignum long integer/string[5]
uint32 使用可变长度编码。uint32 int[1]int/long[3] uint32 Fixnum或Bignum (根据需要)uintinteger
uint64 使用可变长度编码。uint64 long[1]  int/long[3]uint64 Bignum ulong integer/string[5]
sint32 使用可变长度编码。符号整型值。这些比常规int32s编码负数更有效。int32 int int int32 Fixnum或Bignum (根据需要)int integer
sint64 使用可变长度编码。符号整型值。这些比常规int64s编码负数更有效。int64 long int/long[3]int64 Bignum long integer/string[5]
fixed32 总是四字节。如果值通常大于228,则比uint 32更有效uint32 int[1] int/long[3] uint32Fixnum或Bignum (根据需要)uint integer
fixed64 总是八字节。如果值通常大于256,则比uint64更有效uint64 long[1]int/long[3]uint64 Bignum ulong  integer/string[5]
sfixed32 总是四字节。int32 int int int32Fixnum或Bignum (根据需要)int integer
sfixed64 总是八字节。int64 long  int/long[3]int64Bignum long integer/string[5]
bool  bool boolean bool bool TrueClass/FalseClassbool boolean
string 字符串必须始终包含UTF - 8编码或7位ASCII文本string String str/unicode[4] stringString (UTF-8)string string
bytes 可以包含任意字节序列string ByteString str []byteString (ASCII-8BIT) ByteString string


  在协议缓冲区编码中序列化消息时,您可以了解更多关于这些类型的编码方式。

  [1] 在Java中,无符号的32位和64位整数使用它们的有符号对应值来表示,高位简单地存储在符号位中。

  [2] 在所有情况下,为字段设置值都将执行类型检查以确保其有效。

  [3] 64位或无符号32位整数在解码时总是表示得一样长,但是如果在设置字段时给出了一个int,则可以是一个int。在所有情况下,该值必须符合设置时表示的类型。参见[2]

 

syntax = "proto3";
// 生成的包名
option java_package="com.test.protobuf";
//生成的java名
option java_outer_classname = "StuInfo";
message StuMsg {   
     // ID  
     int32 id = 1;  
    // 姓名  
     string name = 2;   
    // 年龄  
      int32 age = 3;  
     // 状态 
     int32 state = 4;  
}

5、进行生成文件

使用命令

protoc Stu.proto --java_out=D:\\data --proto_path=D:\\data

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值