Windows下Protocol Buffer proto文件转java文件

2024-10-12 05:27:24

1、首先我们来介绍一下如何编写后缀名为.proto的文件,通常我们使用proto文件来定义结构化数据,在protobuf的术语中结构化数据被称为Message,如 message person { required string name=1; required int32 age=2; optional string email=3;},同时良好的命名习惯可以让我们清晰的通过文件名了解文件的信息,文件名的命名规则如下:packageName.MessageName.proto。

2、// [START declaration]syntax = "proto2"挢旗扦渌;;//相当于命名空间p锾攒揉敫ackage TestMsg;// [START java_declaration]//java_package 就是生成我们.java文件的包名option java_package = "com.baidu.experience.entity";//java_outer_classname也就是我们把.proto编译成.java后的名字(也就是ProtoTest.java)option java_outer_classname = "ProtoTest";// [END java_declaration]/*---------------- 类及其消息结构 ----------------*/message Person{//这里的required 的修饰符表示name必须赋值(没有默认值) required string name = 1; required int32 age = 2; optional string email = 3; //同理optional 也就是可不赋值当然 如果你在后面加了[dafault = xx],例如 //optional string email = 3;[dafault = 0]默认值是0 //required和optional可以有默认值}

Windows下Protocol Buffer proto文件转java文件

4、将protoc-xxx-win32.zip文件解压,解压后的bin目录下有protoc.exe,是用来把proto文件编译成目标语言(C++,Java,Python)的文本,是google protobuf定义的格式。

Windows下Protocol Buffer proto文件转java文件

6、接下来便是.proto文件转换为.java文件了,因为配置了环境变量,因此我们可以在任意位置打开cmd命令窗口,在cmd窗口执行以下命令:protoc -I=源地址 --java_out=目标地址源地址/xxx.proto,此处生成时会以proto里面注明的java_package为路径完整生成,所以目标地址不必包含java_package及之后的路径, 例如:protoc -I=. --java_out=. ./ProtoTest.proto。

Windows下Protocol Buffer proto文件转java文件
猜你喜欢