JAX-RSアプリケーションをWebSphere 8.0からWebSphere Liberty 8.5.5に移行しています。JAX-RSアプリケーション(WebSphere Liberty)でJacksonバージョンを変更する方法
WebSphere 8.0では、JacksonはWebSphereによって提供されました。 AppServer\plugins\
ディレクトリにjackson-core-asl-1.9.12.jar
、jackson-jaxrs-1.9.12.jar
、jackson-mapper-asl-1.9.12.jar
、jackson-xc-1.9.12.jar
というファイルがあります。
新しいアプリケーションサーバー(WebSphere Liberty)では、次の例外が発生します。org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "myPropertyName"
。私は、シリアル化されたクラスの注釈@JsonIgnoreProperties(ignoreUnknown = true)
が機能しないため、この例外が発生すると思います。私の推測では、WebSphere Liberty 8.5.5は古いバージョンのJacksonを提供しているためです。
自分のアプリケーションに必要なジャクソンのバージョンを にデプロイしようとしましたが、それでも役に立たなかった(私はまだ例外があります)。 WebSphere Libertyに、必要なジャクソン版を使用させるにはどうすればいいですか?
ありがとう、JAX-RS JSONプロバイダを明示的に指定し、 'objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES、false)'を指定した後はすべて動作します。 @JsonIgnoreProperties(ignoreUnknown = true)アノテーションを削除しました。私はライブラリのバージョンを変更する必要はありませんでした。 – Alexey
優秀!このことを知って非常にうれしいあなたのためにも、動作します。 – ebullient