1、官网下载protobuf:https://github.com/protocolbuffers/protobuf/releases/tag/v3.14.0,如下图,下载对应系统的版本即可:
2、解压
3、配置环境变量
4、进入到解压目录,执行如下命令,确认安装成功:protoc --version
5、编写applicationContext.proto文件,如下所示示例:
syntax = "proto3";
option java_package = "com.ls.commons.bean";
option java_outer_classname = "ApplicationContextProtobuf";
message ApplicationContext {
string contextType = 1;
message ClientDetails {
string clientId = 1;
repeated string scope = 2;
string grantType = 3;
string sessionId = 4;
string tokenValue = 5;
string remoteAddress = 6;
string decodedDetails = 7;
string productLineId = 8;
string tenantId = 9;
}
ClientDetails clientDetails = 2;
message MiUserDetails {
int64 uid = 1;
string userId = 2;
string nickname = 3;
string userType = 4;
string username = 5;
string authType = 6;
string productLineId = 7;
string tenantId = 8;
string appId = 9;
string appType = 10;
string systemType = 11;
string imei = 12;
}
MiUserDetails miUserDetails = 3;
message OcUserDetails {
string userId = 1;
string nickname = 2;
string userType = 3;
string username = 4;
string authType = 5;
string productLineId = 6;
string tenantId = 7;
string appType = 8;
string systemType = 9;
}
OcUserDetails ocUserDetails = 4;
message DeviceDetails {
string username = 1;
string authType = 2;
string productLineId = 3;
string arn = 4;
string sn = 5;
string endpoint = 6;
string productId = 7;
string deviceName = 8;
string state = 9;
string area = 10;
string tenantId = 11;
}
DeviceDetails deviceDetails = 5;
message OpenDetails {
string userId = 1;
string username = 2;
string authType = 3;
string productId = 4;
string productLineId = 5;
string tenantId = 6;
string uniqueId = 7;
string vsn = 8;
string sn = 9;
string deviceName = 10;
string endpoint = 11;
string arn = 12;
string state = 13;
string area = 14;
string appId = 15;
string appType = 16;
string systemType = 17;
string imei = 18;
string brandId = 19;
string manufacturerCode = 20;
}
OpenDetails openDetails = 6;
}
6、执行命令:protoc.exe -I=./ --java_out=./ applicationContext.proto,生成java文件