jsonWriter.jsonValue(JsonFormat.printer().print(person))
doesn't runs where person object is supposed to be of type MessageOrBuilder but generated code do extends MessageLiteOrBuilder.
gradle dependency used is
implementation 'com.google.protobuf:protobuf-java-util:3.9.1'
sample proto file content
syntax = "proto3";
package tutorial;
option java_package = "com.mohsenoid.protobuftest";
option java_outer_classname = "AddressBookProtos";
message Person {
string name = 1;
int32 id = 2;
string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
string number = 1;
PhoneType type = 2;
}
repeated PhoneNumber phones = 4;
}
message AddressBook {
repeated Person people = 1;
}