从12.2.1.4升级到Weblogic 14.1.1.0.0后,用于序列化的JAXB注释不起作用

时间:2020-06-08 07:35:16

标签: java jackson jaxb jersey weblogic

将大型Java应用程序从Weblogic 12.2.1.4迁移到14.1.1.0.0时,我注意到我们在DAO中散布的JAXB注释在反序列化期间不再使用。当我希望将下面的字段序列化为全名时,该字段将被序列化为 name

@XmlElement(name="full-name")    
public String name;

在我们的web.xml文件(不包括无关部分)中,我们要使用Jackson的JaxbJsonProvider,并且已禁用Moxy。

    <servlet>
        <servlet-name>Jersey REST Service</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>        
        <init-param>
            <param-name>jersey.config.server.provider.classnames</param-name>
            <param-value>
                org.glassfish.jersey.media.multipart.MultiPartFeature,
                com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider
            </param-value>
        </init-param>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>
                com.fasterxml.jackson.jaxrs 
            </param-value>
        </init-param>
        <init-param>
            <param-name>jersey.config.server.disableMoxyJson</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

我们还在pom文件中添加了以下内容。

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>2.28</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.jaxrs</groupId>
      <artifactId>jackson-jaxrs-json-provider</artifactId>
      <version>2.9.8</version>
      <scope>provided</scope>
    </dependency>

有什么问题的想法吗?

0 个答案:

没有答案