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

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