使用Jackson和JavaTimeModule对Java 8 ZonedDateTime进行序列化

Fal*_*orn 6 java serialization json jackson java-8

我正在尝试使用Jackson对JSON进行序列化和反序列化对象(marshall/unmarshall).其中一些对象具有Java 8 LocalDate和ZonedDateTime.我在这里读到最好的选择是使用jackson-datatype-jsr310

使用Jackson JSON映射器序列化/反序列化java 8 java.time

但是,当我尝试使用它时:

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer.<init>(Ljava/lang/Class;)V from class com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
Run Code Online (Sandbox Code Playgroud)

任何线索?我正在使用Jackson 2.6.0,jackson-datatype-jsr310 2.6.0并且正在部署到Tomcat 8.

谢谢和最好的问候

Fal*_*orn 9

最后,问题是我有一个不同版本的杰克逊,由于与Jongo的依赖.jackson-datatype-jsr310 2.6.0需要部署Jackson 2.6.0和Jackson 2.4.1.