Protobuf学习笔记
1.下载protobuf源码和编译后的windows文件:
protobuf-2.4.1.ziphttp://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.zip&can=2&q=protoc-2.4.1-win32.ziphttp://code.google.com/p/protobuf/downloads/detail?name=protoc-2.4.1-win32.zip&can=2&q=
2.解压文件,将protoc-2.4.1-win32.zip中解压出来的protoc.exe放到解压后的protobuf-2.4.1.zip
根目录中。文件路径为:
::解压路径\protobuf-2.4.1\protoc.exe。然后在CMD中执行:
protoc --java_out=java/src/main/java -I./src ./src/google/protobuf/descriptor.proto
这样会在解压的protobuf-2.4.1.zip的目录下的/java/src/main/java/com/google/protobuf中生
成DescriptorProtos.java文件,复制/java/src/main/java/下的com目录到你的eclipse工程中,
这样相当将Protobuf相关的jar包加入到项目中。
?
3.根据官网.proto例子生成相关的java代码。
官方给定的Protobuf的配置文件为:
package tutorial;option java_package = "author.estone.protobuffer";option java_outer_classname = "AddressBookProtos";message Person { required string name = 1; required int32 id = 2; // Unique ID number for this person. optional string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; optional PhoneType type = 2 [default = HOME]; } repeated PhoneNumber phone = 4;}// Our address book file is just one of these.message AddressBook { repeated Person person = 1;}?
使用官方编译的win32代码生成器,生成上述配置的java代码。
?
protoc.exe –java_out=./ BaseUserRelation.proto
这样就可以在自己的项目中使用该类和Protobuf协议了。