protobuf教程

一、Windows篇

1、下载protoc安装包

本例下载的是 protoc-3.19.1-win64.zip

2、配置用户path环境变量

检测成功:

在protoc.exe目录cmd中,protoc命令有效


如果不是新手,如果电脑使用过proto

忘记proto.exe路径,或者cmd中查看protoc命令无效

echo %path%

在出现的文件目录中,查看proto.exe是否存在

存在的话,protoc命令则能被识别


3、转换.proto为.java

先在目标.proto文件内改好两个"路径"

option java_package = "com.zy.tutor";  // 生成的java文件的包名 
option java_outer_classname = "xunjianProtos"; // 生成的java文件的类名

如下:

syntax = "proto2";

package apollo.plateDetection;

option java_package = "com.zy.tutor";
option java_outer_classname = "xunjianProtos";

message Picture{
  optional uint32 height = 1;  // image height, that is, number of rows
  optional uint32 width = 2;   // image width, that is, number of columns

在.proto文件目录下cmd输入

protoc --java_out . plateDetection.proto

看到生成文件夹

复制com文件夹,到项目的java中

打开java文件夹查看,可以看到proto已经有了它相对的编译好的java文件

在maven项目pom.xml添加protobuf的依赖

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

刷新maven,查看jar包

二、Linux篇

本例演示系统为 Ubuntu 20.04

0、前提:已安装好java环境

以安装 java8 为例:

sudo apt install openjdk-8-jdk

查看系统当前 java 版本

java -version
javac -version

1、下载protoc安装包

本例下载的是 protobuf-java-3.20.1-tar.gz

2、安装相关依赖

sudo apt-get install autoconf automake libtool curl make g++ unzip

3、安装 protobuf

解压 protobuf 安装包,打开此目录下的命令窗口,依次执行如下命令:

./configure
make     // 时间可能会比较长
make check   // 时间可能会比较长

check 示例:

sudo make install
sudo ldconfig # refresh shared library cache

4、查看安装 protobuf 版本

protoc --version

5、转换.proto为.java

进入到protobuf解压的路径并打开终端,运行如下命令。
这条命令会在通过该路径下的“×××.proto”文件生成一个java文件。

protoc --java_out . xxx.proto

PS:卸载 protobuf

sudo apt-get remove libprotobuf-dev

更多推荐

【 protobuf 】.proto转成.Java 教程