美文网首页
Protocol Buffers基于Windows平台构建Jav

Protocol Buffers基于Windows平台构建Jav

作者: AnandLin | 来源:发表于2019-04-19 18:06 被阅读0次

    因为公司业务原因,需要了解熟悉protocol buffer语法结构,关于protocol buffer了解,可以浏览《Protocol Buffers初次认识》,此篇只是针对搭建基于Windows构建Java版本的实现。

    protocol buffer

    部署准备工作

    所谓工欲善其事必先利其器,搭建环境都是学习一门语言知识最基础的入门,搭建protocol buffer需要准备下载的资料如下:

    配置环境变量

    配置环境变量如下

    protobuf_win apache-maven

    在path目录下配置%protobuf_win%\bin;%apache-maven%\bin;
    配置完毕后,可在CMD中输入proto --version以及mvn -version,可看到版本号,如下所示说明配置成功。

    校验环境

    测试Protoc将.proto生成对应平台文件

    配置完protobuf-win,以及maven环境变量后,可在下载的protobuf-java-3.7.1.zip解压目录下的/protobuf-3.7.1/examples有官方为我们提供的.proto文件,方便我们校验。运行以下指令:

    protoc --java_out=${OUTPUT_DIR} path/to/your/proto/file

    如果在指定输出目录中能够获取到对应的java类,说明我们配置正确。

    proto在java项目的应用

    到此,基本protobuf基本可以编译生成了,是不是还有小伙伴疑惑,我们下载的protobuf-java-3.7.1.zip,有何用?

    这个文件主要用于配合我们下载配置的maven使用,将我们之前配置成功的protobuf_win下bin目录中的protoc.exe拷贝到protobuf-java-3.7.1.zip解压目录下/protobuf-3.7.1/src中,然后在/protobuf-3.7.1/java中执行cmd,输入

    mvn test
    mvn install
    mvn package

    编译后在/protobuf-3.7.1/java/core/target中可以获取到
    protobuf-java-x.x.x.jar和protobuf-java-util-x.x.x.jar,将这个两个jar包放到我们利用protoc生成的java类的项目中引用,便可以愉快的使用protoc生成的数据结构了。

    当然如果java采用maven框架搭建的,也不需要这么麻烦去生成这个两个jar包,直接在maven文件中配置如下即可。

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

    确保运行时的版本号与protoc的版本号匹配(或者比版本号更新)。

    如果要使用protobuf JsonFormat等功能,需要额外添加protobuf-java-util包依赖项:

    < dependency > 
      < groupId > com.google.protobuf </ groupId > 
      < artifactId > protobuf-java-util </ artifactId > 
      < version > 3.6.1 </ version > 
    </ dependency >
    

    如果java项目中有使用了Gradle,还可以这样设置

    compile 'com.google.protobuf:protobuf-java:x.x.x'

    同样,请务必检查版本号是否与您正在使用的protoc的版本号相匹配(或者比其更新)。

    环境配置大概到此,需要详细了解的伙伴,可以移步到官网
    https://github.com/protocolbuffers/protobuf/tree/v3.7.1/java中查询更多的配置。
    另外关于Android,如果要使用protocol buffer,可以采用
    Protobuf Java Lite Runtime

    相关文章

      网友评论

          本文标题:Protocol Buffers基于Windows平台构建Jav

          本文链接:https://www.haomeiwen.com/subject/yonqgqtx.html