将大型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>
有什么问题的想法吗?