jsonを使用して日付を含むjson文字列をjodaTimeの日付時刻に変換したいとします。NoSuchFieldError "ADJUST_DATES_TO_CONTEXT_TIME_ZONE" jsonを解析しようとしています
<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>
ジャクソン版:私のpom.xmlに以下のように私はジョダ時間とジャクソンが含まれている
{
"add_time": "2017-04-26 14:26:58",
}
:残念ながら、私はこのエラー
java.lang.NoSuchFieldError: ADJUST_DATES_TO_CONTEXT_TIME_ZONE
JSONオブジェクトは、次のようになりますを取得します2.8.8である。 は、私はこの方法を私のオブジェクトマッパーを作成しました:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
誰もが、問題が何であるか知っていますか?私はこれで2,3時間今こだわっています。私もDeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE
を無効にしようとしましたが、それは役に立ちません。
あなたのアプローチは役に立たなかった。私はまだ例外を得る。 – Martin
ジャクソンがこの日付を解析するには、日付の時刻形式が必要です。報告している例外では、使用しているジャクソンのバージョンでは 'ADJUST_DATES_TO_CONTEXT_TIME_ZONE'は利用できません。しかし、あなたは私の答えのアプローチでこれを無効にするか有効にする必要はありません。したがって、この設定を削除するだけで、この特別な例外は発生しません。それ以外の理由でこれを設定する必要がある場合は、Jacksonバージョン> = 2.2を使用していることを確認する必要があります。 –
あなたの言っていることを疑うことはありません。そして私はそれを試しました。 @JsonFormatを追加し、ADJUST_DATES_TO_CONTEXT_TIME_ZONEを無効にしたコードを削除しました。あなたの提案はおそらく、例外が解決されたときに私が得たであろうエラーを防ぎましたが、今はまだこの例外があります。 – Martin