2015-08-08 24 views
5

我試圖用Jackson來對JSON序列化和反序列化對象(marshall/unmarshall)。其中一些對象具有Java 8 LocalDate和ZonedDateTime。我在這裏讀,最好的選擇是使用jackson-datatype-jsr310Java 8 ZonedDateTime與Jackson和JavaTimeModule的序列化

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

然而,當我嘗試使用此:

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

我得到這個錯誤:

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 

任何線索?我使用的是2.6.0傑克遜,傑克遜 - 數據類型 - jsr310 2.6.0和我部署到Tomcat 8

感謝和問候

回答

6

最後,問題是我有一個不同的版本,傑克遜,因爲與Jongo有依賴關係。 jackson-datatype-jsr310 2.6.0需要Jackson 2.6.0和Jackson 2.4.1正在部署。

+1

我有'java.time.LocalDate'的相同問題,並使用相同版本的'jackson-core'和'jackson-databind'解決它。在我的情況下,這兩個依賴項都是2.7.4版本。 –

相關問題