Google Protocol Buffers 2.3.0 for java 快速开始

来源:互联网 发布:车道线识别算法 编辑:程序博客网 时间:2024/06/16 14:04

Google Protocol Buffers 2.3.0 for java 快速开始

    博客分类:
  • Java
JavaGoogleUbuntuLinux数据结构
Protocol Buffers是一个平台中立,编程语言无关的,可扩展的机制,是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构。你甚至可以在无需重新部署程序的情况下更新数据结构。

一、下载protobuf
去http://code.google.com/p/protobuf/downloads/list下载最新版本。有Linux和Windowst版本,因为本人用的Ubuntu,所以下载的是linux版本。

二、编译protocol buffer提供的命令行工具protoc
将下载后的文件protobuf-2.3.0.tar.gz解压到当解目录
Java代码  收藏代码
  1. sundoctor@sundoctor:~/download$ tar zxvf protobuf-2.3.0.tar.gz  

进入protobuf-2.3.0目录,按照目录下的README.txt文件说明进行编译安装
Java代码  收藏代码
  1.    
  2. sundoctor@sundoctor:~/download$ cd protobuf-2.3.0  
  3. sundoctor@sundoctor:~/download/protobuf-2.3.0$ ./configure  
  4. sundoctor@sundoctor:~/download/protobuf-2.3.0$ make  
  5. sundoctor@sundoctor:~/download/protobuf-2.3.0$ make check  
  6. sundoctor@sundoctor:~/download/protobuf-2.3.0$ sudo make install  

在ubuntu下可以将sudo make install换成sudo checkinstall,这样会将打包成一个deb文件后再安装,其实在ubuntu中也可以跳过这一步,用源安装更简单
Java代码  收藏代码
  1. sundoctor@sundoctor:~/download$ sudo apt-get install protobuf-compiler  


三、生成基础类库
进入protobuf-2.3.0下的java目录,执行
Java代码  收藏代码
  1. sundoctor@sundoctor:~/download/protobuf/protobuf-2.3.0/java$ protoc --java_out=src/main/java/ -I ../src ../src/google/protobuf/descriptor.proto   

命令把源代码包中的descriptor.proto编译一下,生成一个类。
然后将java/src/main/java中的源代码,就是基础类库,以后项目必须使用这些基础类,当然你也可以将其打成jar包,以方便使用。

四、测试
用eclipse新建java project项目为protobufDemo
编写proto定义文件,本文采用protobuf-2.3.0自带例子,进入protobuf-2.3.0的examples目录下有一个addressbook.proto文件,执行
Java代码  收藏代码
  1. sundoctor@sundoctor:~/download/protobuf/protobuf-2.3.0/examples$ protoc --java_out=./ addressbook.proto   

生成例子源代码,代码位于com目录下。
将三、四步中的基础类库、例子源代码、AddPerson.java、ListPeople.java拷到protobufDemo项目即可运行ddPerson.java、ListPeople.java进行测试