这里介绍一下protobuf生成的Java对象结构。 .proto 假设protobuf定义文件如下: option java_outer_classname = "Test";message A { required string a = 1; message B1 { optional string b = 1; message C { optional string c = 1; } optional C c = 2; } optional B1 b1 = 2; message B2 ...
1)关于import protobuf 接口文件可以像C语言的h文件一个,分离为多个,在需要的时候通过 import导入需要对文件。其行为和C语言的#include或者java的import的行为大致相同。 2)关于package 避免名称冲突,可以给每个文件指定一个package名称,对于java解析为java中的包。对于C++则解析为名称空间。 3)关于message 支持嵌套消...
modle根目录配置build.gradle //依赖支持apply plugin:'com.google.protobuf' //指定文件目录sourceSets{main{proto{//main目录新建proto目录srcDir'src/main/proto'include'**/*.proto'}java{srcDir'src/main/java'}}} //依赖库compile'com.google.protobuf:protobuf-java:2.5.0'compile'com.google.protobuf:...
2、到 https://github.com/protocolbuffers/protobuf/releases/tag/v3.17.3 下载相应版本的"protoc.exe" ,在 protoc-3.17.3-win64.zip 压缩包里; 3、创建 .proto 文件StockInfoReply.proto,内容示例: syntax = "proto3";option java_package = "com.xrh.pb";option java_outer_classname = "StockInfoRep...
2、到 https://github.com/protocolbuffers/protobuf/releases/tag/v3.17.3 下载相应版本的"protoc.exe" ,在 protoc-3.17.3-win64.zip 压缩包里; 3、创建 .proto 文件StockInfoReply.proto,内容示例: syntax = "proto3";option java_package = "com.xrh.pb";option java_outer_classname = "StockInfoRep...
1.定义proto文件: User.proto packagenetty; option java_package="myprotobuf"; option java_outer_classname="UserProto"; message User{ required int32 ID=1; required string userName=2; required string Password=3; repeated string address=4;
下载工具 proto.exe 链接:https://pan.baidu.com/s/1rB33kKVbyqAPp-jyoAnDNg 提取码:n172 解压文件 拿到proto.exe 执行: ./protoc.exe --java_out=./ User.proto # protoc.exe路径 # --java_out 要输出到哪个目录 # User.proto 要编译的proto文件...
编写 一个test.proto文件 [plain]view plaincopy option java_package = "com.proto"; option java_outer_classname = "FirstProtobuf"; message TestBuf { required int32 ID = 1; required string Url = 2; } 利用protoc.exe 生成java文件: [plain]view plaincopy ...
则会生成类名为 Test.java 的文件,结构和 protobuf 文件定义的 一致:A 对象,包含 a/b1/b2/num 四个属性,其中 b1 类型为 B1, b2 类型为 B2;B1 中包含 b/c 两个属性,其中 c 类型为 C,其中只包 含一个属性 c;B2 只包含一个属性 b。 Java 对象中的方法 主要看一下生成的对象中,都有哪些方法可供...
proto -I 后面是proto文件所在的目录 –java_out 后面是生成java文件存放地址 最后一个参数是proto文件的名称 编译后的得到的Message.java 代码语言:javascript 复制 public final class Message { private Message() {} public static void registerAllExtensions( com.google.protobuf.ExtensionRegistryLite registry)...