How to change Jackson version in JAX-RS app (WebSphere Liberty)

前端 未结 3 865
清歌不尽
清歌不尽 2021-01-14 13:12

I am migrating a JAX-RS application from WebSphere 8.0 to WebSphere Liberty 8.5.5.

In WebSphere 8.0, Jackson was provided by WebSphere. I can find jackson-core

3条回答
  •  执笔经年
    2021-01-14 13:32

    WebSphere Liberty will use the version of Jackson you specify with JAX-RS 2.0, with a few caveats (which we are chasing).

    A) You still have to specify JSON providers explicitly.

    B) You may see an NPE with 16.0.0.2 as described here: Regiser JacksonJsonProvider in Websphere liberty profile. We've worked around that as described. The most recent beta doesn't exhibit this behavior, which suggests the next runtime update won't either.

    Examples: https://github.com/gameontext/gameon-mediator/blob/6b469d18965673af35129abf3ff987b61af54c88/mediator-app/src/main/java/org/gameontext/mediator/JaxbJsonProvider.java

    and

    https://github.com/gameontext/gameon-mediator/blob/6b469d18965673af35129abf3ff987b61af54c88/mediator-app/src/main/java/org/gameontext/mediator/JsonProvider.java

    Our gradle build brings in the jackson dependency: https://github.com/gameontext/gameon-mediator/blob/6b469d18965673af35129abf3ff987b61af54c88/mediator-app/build.gradle

    And our server.xml uses jaxrs-2.0, but doesn't do any classloader magic: https://github.com/gameontext/gameon-mediator/blob/6b469d18965673af35129abf3ff987b61af54c88/mediator-wlpcfg/servers/gameon-mediator/server.xml

    HTH

提交回复
热议问题