Ich migriere eine JAX-RS-Anwendung von WebSphere 8.0 nach WebSphere Liberty 8.5.5.So ändern Sie die Jackson-Version in der JAX-RS-App (WebSphere Liberty)
In WebSphere 8.0 wurde Jackson von WebSphere bereitgestellt. Ich kann jackson-core-asl-1.9.12.jar
, jackson-jaxrs-1.9.12.jar
, jackson-mapper-asl-1.9.12.jar
und jackson-xc-1.9.12.jar
Dateien im Verzeichnis AppServer\plugins\
finden.
Im neuen Anwendungsserver (WebSphere Liberty) erhalte ich folgende Ausnahme: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "myPropertyName"
. Ich denke, dass diese Ausnahme passiert, weil die Annotation @JsonIgnoreProperties(ignoreUnknown = true)
auf den serialisierten Klassen nicht funktioniert. Ich vermute, dass dies geschieht, weil WebSphere Liberty 8.5.5 eine ältere Version von Jackson bereitstellt.
Ich habe versucht, die Version von Jackson, die ich brauche, mit meiner Anwendung, zu implementieren, aber es hat nicht geholfen (ich habe immer noch Ausnahmen). Wie kann ich WebSphere Liberty dazu bringen, die von mir benötigte Version von Jackson zu verwenden?
Danke, alles funktioniert, nachdem ich JAX-RS JSON Provider explizit angegeben habe und 'objectMapper.configure (DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)' darin gesetzt habe. Ich habe '@JsonIgnoreProperties (ignoreUnknown = true) 'Annotationen entfernt. Ich musste die Version der Bibliothek nicht ändern. – Alexey
Ausgezeichnet! Sehr erfreut zu wissen, dass dies auch für Sie funktioniert. – ebullient