MacOS:Protobuf安装,并用maven编译导出jar包

Mac下protobuf安装,并用maven编译导出jar包

一、概述

Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。用于 RPC 系统和持续数据存储系统。

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

二、安装

1.下载 适合自己系统的安装包

https://github.com/google/protobuf/releases

*小生是安装mac版(protoc-3.5.1-osx-x86_64.zip),用于开发调试

2.安装

下载解压后目录结构:

.
├── bin
│   └── protoc
├── include
│   └── google
│       └── protobuf
│           ├── any.proto
│           ├── api.proto
│           ├── compiler
│           │   └── plugin.proto
│           ├── descriptor.proto
│           ├── duration.proto
│           ├── empty.proto
│           ├── field_mask.proto
│           ├── source_context.proto
│           ├── struct.proto
│           ├── timestamp.proto
│           ├── type.proto
│           └── wrappers.proto
└── readme.txt

解压后把include目录下的内容copy到系统目录:/usr/local/include/

bin目录下的protoc即是启动文件,可以把protoc配置到环境变量PATH,此处不再赘述。

3.proto文件转java类

protoc ./ThdataProto.proto --java_out=./(存放路径)

三、maven编译导出jar包

protobuf的jar包在官网并没有提供,网上也很难找到,小生找的太久,最后放弃了,还是自己用maven编译一个吧(maven自行安装)

1.下载 ——protobuf-java-3.5.1.zip

2.解压后目录(protobuf-3.5.1)结构(一级目录):

.
├── BUILD
├── CHANGES.txt
├── CONTRIBUTORS.txt
├── LICENSE
├── Makefile.am
├── Makefile.in
├── README.md
├── WORKSPACE
├── aclocal.m4
├── ar-lib
├── autogen.sh
├── benchmarks
├── cmake
├── compile
├── config.guess
├── config.h.in
├── config.sub
├── configure
├── configure.ac
├── conformance
├── depcomp
├── editors
├── examples
├── generate_descriptor_proto.sh
├── gmock
├── gmock.BUILD
├── install-sh
├── java
├── ltmain.sh
├── m4
├── missing
├── objectivec
├── protobuf-lite.pc.in
├── protobuf.bzl
├── protobuf.pc.in
├── python
├── six.BUILD
├── src
├── test-driver
├── update_file_lists.sh
└── util

3.maven编译: mvn package

首先cd protobuf-3.5.1,copy一个protoc文件(上述mac安装protobuf时bin目录下的文件)到src目录下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMVmk2KY-1573610607472)(https://img-blog.csdn.net/20180130105836803?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDI3NzQ0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]

再copy一个protoc文件到java/core/src/目录下:

img_install_2

然后回到java目录,执行:
mvn package

开始编译…

编译成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NDPjVqki-1573610607474)(https://img-blog.csdn.net/20180130105947654?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDI3NzQ0Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]

完成后在java/core/target/目录下即能看到成功编译出来的jar包:

img_install_4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章