1.从github上下载protobuf3
protobuf3下载地址:https://github.com/protocolbuffers/protobuf/releases
有很多语言版本的,mac下选择第一个。
https://github.com/protocolbuffers/protobuf/releases/tag/v3.13.0
2.下载下来后解压压缩包,并进入目录
cd protobuf-3.13.0/
3.设置编译目录
./configure --prefix=/usr/local/protobuf
4.切换到root用户
sudo -i
5.安装
先执行编译命令:
make
这个执行的比较慢
执行完后再执行命令进行安装:
make install
6.配置环境变量
查看.bash_profile文件
cat .bash_profile
若.bash_profile文件不存在 则新建此文件
touch .bash_profile
然后
vim ~/.bash_profile
末尾添加
export PROTOBUF=/usr/local/protobuf
export PATH=$PROTOBUF/bin:$PATH
:wq保存文件
保存后执行source命令使文件生效:
source .bash_profile
可能不起作用,原因是 mac下采用zsh代替bash,而zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。
解决办法
在~/.zshrc文件最后,增加一行:
open ~/.zshrc
source ~/.bash_profile
保存后既可生效;
7.测试安装结果
protoc --version
生成java类
2.创建一个.proto文件,用于生成java类 User.proto
可以定义生成POJO名称,内部类名及其属性
3.引入依赖包
com.google.protobuf
protobuf-java
3.13.0
注意一下,引入的依赖包版本号要与下载的protoc.exe编译器版本一样,不然生成的java文件中存在类找不到的情况
有时候类找不到也可能是jar包冲突导致的。
4.进入.proto文件所在目录
5.执行生成命令
protoc.exe --java_out=. User.proto
注意 命令中 . 与.proto文件中间有个空格
参考:
1.https://zhuanlan.zhihu.com/p/60471892
2.https://blog.csdn.net/qq_18505715/article/details/83276208
3.https://blog.csdn.net/C18298182575/article/details/123200374