• 十六.maven自动化构建protobuf代码依赖


    protobuf在序列化和反序列化中的优势:

    1):序列化后体积相比Json和XML很小,适合网络传输
    2):支持跨平台多语言
    3):消息格式升级和兼容性还不错
    4):序列化反序列化速度很快,快于Json的处理速速

    前面提到的根据定义的.proto文件生成java类的方式, 需要安装protobuf,并且手动去生成java类, 好处是可以在生成的java类中进行修改,或者自定义相关方法(官方不建议这种操作);缺点显而易见.

    下面介绍使用maven插件,在编译的时候自动生成java类

    1).首先需要添加protobuf依赖

    <dependencies>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>${protobuf.version}</version>
        </dependency>
    </dependencies>

    2).添加maven-protobuf插件,关于插件中的相关配置详见:https://www.xolstice.org/protobuf-maven-plugin/compile-mojo.html

    <build>
    <extensions>
    <extension>
    <groupId>kr.motd.maven</groupId>
    <artifactId>os-maven-plugin</artifactId>
    <version>1.6.2</version>
    </extension>
    </extensions>
    <plugins>
    <plugin>
    <groupId>org.xolstice.maven.plugins</groupId>
    <artifactId>protobuf-maven-plugin</artifactId>
    <version>0.6.1</version>
    <configuration>
    <protocArtifact>com.google.protobuf:protoc:3.9.1:exe:${os.detected.classifier}</protocArtifact>
    </configuration>
    <executions>
    <execution>
    <goals>
    <goal>compile</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    </build>

    3).若需要再编码是不显示错误提示, 需要编译后方可使用,proto目录位于src/main/目录下, 与java同级, 生成的java类通过protobuf文件中的name, java_package进行配置;

    默认在生成的类后加OuterClass



  • 相关阅读:
    Java中的位运算符、移位运算符
    数据结构——树
    Java Collections工具类
    Map集合
    博客园插入bilibili视频
    TreeSet练习 根据字符串长度排序
    Java Set集合
    规划极限编程读后感(3)
    规划极限编程读后感(2)
    规划极限编程读后感(1)
  • 原文地址:https://www.cnblogs.com/kexianting/p/11607098.html
Copyright © 2020-2023  润新知