【发布时间】:2020-01-29 22:58:00
【问题描述】:
我想使用 jackson 将包含日期的 json 字符串转换为 jodaTime 的 DateTime。不幸的是我收到了这个错误
java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE
json 对象如下所示:
{
"add_time": "2017-04-26 14:26:58",
}
我在 pom.xml 中包含了 joda time 和 jackson,如下所示:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>${jackson.version}</version>
</dependency>
jackson 版本是 2.8.8。 我以这种方式创建了我的对象映射器:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
有人知道问题可能是什么吗?我现在坚持了几个小时。我也试过禁用DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE,但没有帮助。
【问题讨论】: