jprotobuf
jprotobuf copied to clipboard
pb文件调用generateSource生成java代码
当被引用的pb文件如果出现package的时候会出现被引用的文件找不到的问题 package sina.proxy; import "proto_basic.proto";
option java_package = "com.devil.clearing.proto"; message SinaQueryBalanceRequest { optional proto.basic.RequestBasic basic = 1; optional string biz_id = 2; optional uint64 uid = 3; optional int32 scene = 4; } 被引用的文件 package proto.basic; option java_package = "com.devil.clearing.proto";
message RequestBasic { optional int64 time = 1; optional string client_info = 2; optional int64 time_out = 3; // 超时时间,非时间戳 单位秒 } 报错信息: Exception in thread "main" java.lang.RuntimeException: Message 'SinaQueryBalanceRequest' depend on message 'proto.basic.RequestBasic' is missed
应该是package引用, java这一块处理方式,会参见 java_package 这个设置,可以尝试把 optional proto.basic.RequestBasic basic = 1; 改成 optional RequestBasic basic = 1; 试一下