使用ScalaPBC为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(字段实际上没有意义):使用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兼容
有没有办法将上述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;
}