Mac安装使用Protobuf

本文档详细介绍了如何在Mac环境下安装protobuf,包括从GitHub下载最新版本的压缩包,解压并安装,验证安装成功。接着,通过protoc命令进行编译,创建并编译proto文件。此外,还讲解了在maven项目中使用protobuf插件进行编译的步骤,以及卸载protobuf的方法。推荐使用Protocol Buffer Editor插件辅助编辑proto文件。
摘要由CSDN通过智能技术生成

下载

在 https://github.com/protocolbuffers/protobuf/releases 下载最新版压缩包并解压。

比如 protobuf-java-3.14.0.tar.gz 包,解压至 /Users/XXX/MyApp/ 目录下。

安装

cd 到 /Users/XXX/MyApp/protobuf-3.14.0/ 目录。依次执行命令安装:

protobuf-3.14.0 % ./configure
protobuf-3.14.0 % make
protobuf-3.14.0 % make check
protobuf-3.14.0 % sudo make install

验证安装是否成功:

protobuf-3.14.0 % which protoc
protobuf-3.14.0 % protoc --version

编译

protoc

直接使用 protoc 命令编译。

  • 新建一个 protos 目录。
  • 写一个 msg.proto 文件:
    // [头部声明部分,包含了协议的版本、包名、特定语言的选项设置等]
    
    // 对于一个“.proto”文件而言,文件首个非空、非注释的行必须注明Protobuf的语法版本,否则默认版本是proto2
    syntax = "proto3";
    
    // 定义Protobuf的包名称空间,通过指定包名来避免message名字冲突
    package netty.protocol;
    
    // 指定生成的Java类的包名。若不指定该选项,则会以头部声明中的package作为Java类的包名。
    option java_package = "netty.protocol";
    // 指定生成Java类的打包方式。不指定则默认false,表示所有的消息都作为内部类,打包到一个外部类中。true表示一个消息对应一个Java的POJO类
    option java_multiple_files = false;
    // 指定生成的外部类名
    option java_outer_classname = "MsgProtos";
    
    // [消息结构体部分,可以定义一个或者多个消息结构体]
    
    // 消息定义
    message Msg {
        // 字段格式为:限定修饰符 数据类型 字段名称(建议以_分隔) = 分配标识号(同一消息结构体中不能重复,无须连续,开始使用就不能再改变)
        uint32 id = 1;
        string content = 2;
    };
    
  • cd 到 protos 目录,编译 msg.proto 文件:
    protobuf-3.14.0 % protoc --proto_path=./ --java_out=./ msg.proto
    
    查看 protos 目录下是否生成了 MsgProtos.java 文件。

maven 插件

使用 maven 编译。

(1)引入依赖:

<dependencies>
    <dependency>
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值