Protobuf 的安装使用总结

简介: Protobuf 的安装使用总结

ProtoBuf的官方下载包并不包含jar文件,需要用户自己来自行编译。

下载

protobuf-2.5.0.tar.gz

(ProtoBuf的源文件(包含了C++/Java/Python)的源文件)

protoc-2.5.0-win32.zip

(已经编译过的用于Windows平台的protoc命令,该命令用于将.proto文件转化为Java或C++源文件)

注意,以上两个文件的版本必须匹配一致

分别解析这两个文件,你可以在protoc-2.4.1-win32.zip解压后的文件中找到一个protoc.exe文件,将其copy到protobuf-2.5.0/src目录下,然后进入protobuf-2.5.0/java

mvn install

如果没有安装maven的话,可以参考这篇文章:

Linux/Windows下安装Maven

编译完成后可以在protobuf-2.5.0/java/target目录中找到protobuf-2.5.0.jar文件

如果要生成plugin.java文件在\java\target\generated-sources\com\google\protobuf\compiler\PluginProtos.java,则需要修改\java\pom.xml里添加这样一行

<tasks>
                <mkdir dir="target/generated-sources" />
                <exec executable="../src/protoc">
                  <arg value="--java_out=target/generated-sources" />
                  <arg value="--proto_path=../src" />
                  <arg value="../src/google/protobuf/descriptor.proto" />
 <arg value="../src/google/protobuf/compiler/plugin.proto" />
                </exec>
              </tasks>

protobuf-2.5.0.jar,protoc.exe,PluginProtos.java 替换到自动生成代码的工具里,升级完成。


option optimize_for = LITE_RUNTIME;
     optimize_for是文件级别的选项,Protocol Buffer定义三种优化级别SPEED/CODE_SIZE/LITE_RUNTIME。缺省情况下是SPEED。
     SPEED: 表示生成的代码运行效率高,但是由此生成的代码编译后会占用更多的空间。
     CODE_SIZE: 和SPEED恰恰相反,代码运行效率较低,但是由此生成的代码编译后会占用更少的空间,通常用于资源有限的平台,如Mobile。
     LITE_RUNTIME: 生成的代码执行效率高,同时生成代码编译后的所占用的空间也是非常少。这是以牺牲Protocol Buffer提供的反射功能为代价的。因此我们在C++中链接Protocol Buffer库时仅需链接libprotobuf-lite,而非libprotobuf。在Java中仅需包含protobuf-java-2.4.1-lite.jar,而非protobuf-java-2.4.1.jar。
     注:对于LITE_MESSAGE选项而言,其生成的代码均将继承自MessageLite,而非Message。


目录
相关文章
|
3月前
|
Java Windows
Win环境安装Protobuf 2.0 版本
Win环境安装Protobuf 2.0 版本
52 1
|
5月前
|
Ubuntu
ubuntu安装protobuf
ubuntu安装protobuf
148 0
|
11月前
|
Linux Go Windows
golang环境安装
golang环境安装
101 1
|
编译器
ProtoBuf的安装
ProtoBuf的安装
139 0
|
安全 Unix Linux
Golang环境安装
Golang环境安装
317 0
|
程序员 测试技术 Go
发布golang第三方包
发布golang第三方包
319 0
发布golang第三方包
|
存储 Java 测试技术
最新版gradle安装使用简介
最新版gradle安装使用简介
最新版gradle安装使用简介
|
编译器 Linux Ruby
Linux环境安装Protobuf
1,下载地址: https://github.com/protocolbuffers/protobuf/releases 最好是下载-all的包,因为里面的依赖文件比较全,不然还需要下载各种依赖,可能会遇到各种报错,我这里下载的是3.11.2版本,自己根据情况下面对应的版本. 2,解压编译 1, tar -zxvf protobuf-all-3.11.2.tar.gz 2, ./configure 3, make 4, make install 最后两步比较的慢,耐心等待就行,完成后运行下面的命令可以看到版本的信息 执行 protoc --version 会显示 libpro
|
XML JSON Java
Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略
Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略
Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略