首先下载2.4.1的安装包 http://code.google.com/p/protobuf/downloads/ 安装命令示例如下:
tar -xzf protobuf-2.1.0.tar.gz
cd protobuf-2.1.0
./configure --prefix=$INSTALL_DIR
make
make check
make install
1)编写一个Protocol文件,保存为 addressbook.proto
package tutorial;
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
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;
}
message AddressBook {
repeated Person person = 1;
}
2)执行如下命令,$SRC_DIR为address.proto文件的目录,$DST_DIR为生成java文件的目录
protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto
就可以生成可用的Java类文件了
3)Protocol Buffer的Maven配置
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.4.1</version>
</dependency>
4)代码使用
Java代码构建Address对象:
AddressBookProtos.Person person = AddressBookProtos.Person.newBuilder().setId(2234).setName("Benson Peng").build();
AddressBookProtos.AddressBook address = AddressBookProtos.AddressBook.newBuilder().addPerson(person).build();
参考文献:
1)Google官方教程 http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.html
2)Google Protocol Buffer的原理和使用 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608