java整合grpc
前提说明我们使用新版的proto3JDK(version >=1.8)步骤在本机安装protoc编译器mac: brew install protoclinux: apt install -y protobuf-compilerwin: https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3
·
前提说明
我们使用新版的proto3
JDK(version >=1.8)
步骤
在本机安装protoc编译器
- mac:
brew install protoc
- linux:
apt install -y protobuf-compiler
- win:
https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-win64.zip
(win用户可能需要配置环境变量,各位作为IT精英这里不赘述了)
验证安装结果
protoc --version
maven/gradle配置
特殊强调:在导入依赖之前一定要使用
protoc --version
看一下proto编译器的版本,这个版本要与下面的依赖版本一致,不一致的版本导出的代码也可能不同
- gradle: 在dependencies中追加
implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.19.4'
- maven: 在dependencies标签中追加
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.19.4</version>
</dependency>
编写proto文件
贴出一个测试样例
syntax = "proto3"; // 必须加的,对proto版本声明
option go_package="./pb"; // 在go中编译后会放在pb包下
option java_package="com.birdy.proto.service"; // 在java中编译会放在com.birdy.proto.service包下
message CPU {
string brand = 1;
string name = 2;
uint32 number_core = 3;
uint32 number_threads = 4;
double min_ghz = 5;
double max_ghz = 6;
}
message GPU {
string brand = 1;
string name = 2;
double min_ghz = 3;
double max_ghz = 4;
}
使用protoc编译
protoc --java_out=src/main/java src/main/proto/*.proto
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献2条内容
所有评论(0)