Closed
Description
Starting with 2.12, below code fails & throw exception. I wonder if it's related to FasterXML/jackson-databind#2683
Tested with 2.11.4 & 2.10.5, both serialize successfully.
Note: Adding deprecated jsr310 module also doesn't work.
public class JacksonTest {
private static ObjectMapper objectMapper;
@BeforeClass
public static void setup() {
objectMapper = JsonMapper.builder()
.addModules(
new JavaTimeModule()
)
.build();
}
@Test
public void whenUsingTemporalAdjusterExpectTrue() throws JsonProcessingException {
TestPojo mrd = new TestPojo();
System.out.println(objectMapper.writeValueAsString(mrd));
}
static class TestPojo {
private TemporalAdjuster ta;
TestPojo() {
this.ta = TemporalAdjusters.firstDayOfMonth();
}
public TemporalAdjuster getTa() {
return ta;
}
public void setTa(TemporalAdjuster ta) {
this.ta = ta;
}
}
}
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.temporal.TemporalAdjusters$$Lambda$80/0x0000000800c07840` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: com.oner.JacksonTest$TestPojo["ta"])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1276)
at com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4487)
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3742)
Metadata
Metadata
Assignees
Labels
No labels