菜菜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

首先,你需要安装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

 

posted on 2019-08-13 17:30  好吧,就是菜菜  阅读(11357)  评论(2编辑  收藏  举报