ps: Protocol Buffers简称PB
安装 PB:
解压:<code>tar zxvf protobuf-2.5.0.tar.gz</code>,使用 <code>cd</code> 命令进入 <code>protobuf-2.5.0</code> 目录。
./configure,通常建议加上 <code>--prefix</code> 参数来指定目录,例如:
<code>./configure --prefix=/usr/local/Cellar/protobuf/2.5.0</code>
make,如出现 <code>make: Nothing to be done for all</code> 错误提示,表示 PB 已经被编译好了,如需重新编译,可以先用 <code>make clean</code> 命令删除已经编译好的文件。
make check
make install
设置环境变量: 编辑 <code>/etc/profile</code>,在文件末尾加入:
至此,PB已经成功安装完毕,可以使用 <code>protoc --version</code> 命令来验证是否安装成功,如果出现如下结果,则表示 PB 已经安装成功并且生效。
通常我们在编写好 PB 文件之后,需要使用 <code>protoc</code> 来将 PB 文件编译成对应的代码,在命令行里面我们可以使用如下命令来生成对应的 Java 文件:
在 IDE 中编写 PB 文件之后,可以在指定 package 下一键生成对应的 Java 文件,方便对 Java 文件的管理。
安装 PB 插件。进入 IDEA 设置中心,打开 <code>Plugins</code>,点击 <code>Browse repositories</code>,搜索 <code>protocol buffer</code>安装插件,如下图所示。安装好 PB 插件之后,需要重启 IDEA。

配置路径。PB 插件安装完毕之后,需要为插件配置 PB 的编译路径,也就是在上一步中我们安装的 <code>protoc</code>。
至此,IDEA PB 插件安装完成,下面介绍如何在项目中使用 PB 插件来快速生成 Java 文件。
新建 Maven 项目,配置 PB 生成 Java 文件的目录:进入 <code>Project Settings</code>,填写 <code>Output source directory</code>,这里的目录就是项目的 <code>Java source</code> 目录。
根据 PB 描述文件,生成 Java 文件。在 PB 文件中右键,从菜单中选择 <code>Compile ‘person.proto’</code>,就能生成对应的 Java 文件。
加入 Maven 依赖。在 pom.xml 文件中加入如下依赖:
PersonModel.Person.Builder personBuilder = PersonModel.Person.newBuilder();
personBuilder.setId(1);
personBuilder.setName("***");
personBuilder.setEmail("[email protected]");
PersonModel.Person person1 = personBuilder.build();
// 将数据写到输出流,如网络输出流,这里就用ByteArrayOutputStream来代替
ByteArrayOutputStream output = new ByteArrayOutputStream();
person1 .writeTo(output);
byte[] byteArray = output.toByteArray();
// 接收到流并读取,如网络输入流,这里用ByteArrayInputStream来代替
ByteArrayInputStream input = new ByteArrayInputStream(byteArray);
PersonModel.Person person2= PersonModel.Person.parseFrom(input);
System.out.println("ID:" + person2.getId());
System.out.println("name:" + person2.getName());
System.out.println("email:" + person2.getEmail());