
我们使用新版的proto3
JDK(version >=1.8)
protoc --version
maven/gradle配置特殊强调:在导入依赖之前一定要使用protoc --version看一下proto编译器的版本,这个版本要与下面的依赖版本一致,不一致的版本导出的代码也可能不同
implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.19.4'
编写proto文件com.google.protobuf protobuf-java 3.19.4
贴出一个测试样例
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