Tôi đang cố gắng tuần tự hóa cấu trúc với protobuf. sau nhiều giờ cố gắng tìm ra những gì tôi đang làm sai tôi quyết định thử nghiệm ví dụ của google và nó đã không làm việc cũnglỗi với tuần tự hóa với protobuf
Tôi có giao thức sau đây từ google (https://developers.google.com/protocol-buffers/docs/javatutorial):
package tutorial;
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
repeated PhoneNumber phone = 4;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
}
message AddressBook {
repeated Person person = 1;
}
và tôi đang cố gắng để serialize nó với:
Person john = Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("[email protected]")
.addPhone(
Person.PhoneNumber.newBuilder()
.setNumber("555-4321")
.setType(Person.PhoneType.HOME))
.build();
byte [] đăng = john.toByteArray();
và tôi nhận được "java.lang.UnsupportedOperationException: Điều này được cho là bị ghi đè bởi các lớp con".
Cảm ơn;
Bạn có thể đăng toàn bộ ngăn xếp không? – rongenre
Bạn có sử dụng phiên bản 'protoc' khớp với thư viện bạn đang sử dụng không? –
Tôi đã sử dụng các phiên bản khác nhau của protobuf ... Cảm ơn rất nhiều Marc! – Fynn