使用ScalaPBC为Scala 2.10编译协议缓冲区?

使用ScalaPBC为Scala 2.10编译协议缓冲区?,scala,protocol-buffers,scalapb,Scala,Protocol Buffers,Scalapb,我正在尝试使用Trueaccord的ScalaPBC将一个简单的protobuf文件编译成Scala。 我仅限于Scala 2.10,由于对案例类的实现限制(“案例类不能有超过22个参数”),因此无法编译生成的类 对于Scala 2.10版本0.4.20和protobuf java版本2.6.1,我使用Trueaccord的scalapb运行时和compilerplugin 这是我正在编译的protobuf(字段实际上没有意义): 有没有办法将上述protobuf编译成与Scala 2.10兼容

我正在尝试使用Trueaccord的ScalaPBC将一个简单的protobuf文件编译成Scala。 我仅限于Scala 2.10,由于对案例类的实现限制(“案例类不能有超过22个参数”),因此无法编译生成的类

对于Scala 2.10版本0.4.20和protobuf java版本2.6.1,我使用Trueaccord的scalapb运行时和compilerplugin

这是我正在编译的protobuf(字段实际上没有意义):


有没有办法将上述protobuf编译成与Scala 2.10兼容的Scala代码?

不幸的是,没有。在Scala2.10中,ScalaPB仅限于包含22个或更少字段的消息

如果您能够更改协议缓冲区的结构,请考虑使用嵌套消息或重复字段来减少每个消息中的字段数量。

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;
}