美文网首页
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