我正在尝试使用Trueaccord的ScalaPBC将简单的protobuf文件编译到Scala。我仅限于Scala 2.10,并且由于对case类的实现限制(“ case类不能具有超过22个参数”),无法编译结果类。
我将Scala 2.10版本0.4.20和protobuf-java版本2.6.1使用Trueaccord的scalapb运行时和Compilerplugin。
这是我正在编译的protobuf(这些字段实际上没有任何意义):
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
optional string email1 = 4;
optional string email2 = 5;
optional string email3 = 6;
optional string email4 = 7;
optional string email5 = 8;
optional string email6 = 9;
optional string email7 = 10;
optional string email8 = 11;
optional string email9 = 12;
optional string email0 = 13;
optional string emaila = 14;
optional string emails = 15;
optional string emaild = 16;
optional string emailf = 17;
optional string emailg = 18;
optional string emailh = 19;
optional string emailj = 20;
optional string emailk = 21;
optional string emaill = 22;
optional string emailz = 23;
optional string emailx = 24;
optional string emailc = 25;
optional string emailv = 26;
optional string emailb = 27;
optional string emailn = 28;
optional string emailm = 29;
optional string emailkk = 30;
}
有没有一种方法可以将上述protobuf编译为可与Scala 2.10一起使用的Scala代码?
不幸的是没有。在Scala 2.10中,ScalaPB仅限于22个字段或更少的消息。
如果您能够更改协议缓冲区的结构,请考虑使用嵌套消息或重复字段以减少每条消息中具有的字段数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句