protobufで構造体をシリアル化しようとしています。多くの時間は、私が間違ってやっているかを把握しようとした後、私はGoogleの例をテストすることを決定し、それは同様に protobufでシリアル化エラー
を働いていなかった私持っている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;
}
そして私はそれをシリアル化しようとしている:
Person john = Person.newBuilder()
.setId(1234)
.setName("John Doe")
.setEmail("[email protected]")
.addPhone(
Person.PhoneNumber.newBuilder()
.setNumber("555-4321")
.setType(Person.PhoneType.HOME))
.build();
バイト[] = john.toByteArray連載します();
"java.lang.UnsupportedOperationException:これはサブクラスによってオーバーライドされるはずです。"
ありがとうございます。
完全なスタックトレースを投稿できますか? – rongenre
使用しているライブラリと一致する 'protoc'のバージョンを使用しましたか? –
私はprotobufのさまざまなバージョンを使用していた...ありがとうございましたマーク! – Fynn