2015-08-08 17 views
5

Próbuję użyć Jackson do serializowania i deserializacji obiektów (marshall/unmarshall) zi do JSON. Niektóre z tych obiektów mają Java 8 LocalDate i ZonedDateTime. Czytałem tutaj, że najlepszym rozwiązaniem jest użycie jackson-datatype-jsr310Serializacja Java 8 ZonedDateTime z Jackson i JavaTimeModule

serialize/deserialize java 8 java.time with Jackson JSON mapper

Jednak, gdy próbuję użyć tego:

ObjectMapper mapper = new ObjectMapper(); 
mapper.registerModule(new JavaTimeModule()); 

otrzymuję ten błąd:

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 

Jakaś wskazówka? Używam Jackson, Jackson-2.6.0-typ danych jsr310 2.6.0 i jestem wdrażania Tomcat 8.

Dzięki i pozdrawiam

Odpowiedz

6

W końcu problem został miałem inną wersję Jacksona , z powodu zależności z Jongo. jackson-datatype-jsr310 2.6.0 potrzebuje instalacji Jackson 2.6.0 i Jackson 2.4.1.

+1

Miałem ten sam problem z 'java.time.LocalDate' i rozwiązałem go przy użyciu tej samej wersji' jackson-core' i 'jackson-databind'. W moim przypadku była to wersja 2.7.4 dla obu zależności. –

Powiązane problemy