如何在Java内使用Protobuf

首先,你需要安装protoBuf的编译器。假设你已经安装好protobuf的编译器。

新建一个maven项目,pom内添加如下依赖

<dependencies>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.4.0</version>
        </dependency>
    </dependencies>

第二步,在src/main/java新建proto目录。在里面写.proto文件,声明你对象的格式。比如我的,如果不懂,先抄,看最后结果。

syntax="proto3";

package cc.protobuf;

option java_package = "cc.protobuf.model";
option java_multiple_files=true;
option java_outer_classname="AddressBookProtos";

message Person
{
    string name = 1;
    int32 id = 2;
    string emial = 3;
    enum PhoneType {
     MOBILE=0;
     HOME=1;
     WORK=3;
    }
    
    message PhoneNumber
    {
        string number = 1;
        PhoneType rtpe = 2;
    }
    repeated PhoneNumber phone = 4;
    
    message AddressBook
    {
        repeated Person people = 4;
    }
}

第三步,使用protoc根据.proto文件生成代码。命令如下

使用cd 命令到 src/main/java/proto
protoc --java_out=../ ./addressBook.proto

第四步,刷新你的项目目录。你应该会看到这个model

这个就是protoc生成代码。具体完整代码查看git

https://github.com/tangzhe7/test-protobuf

原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/11347304.html