强制Glassfish4使用Jackson而不是Moxy
Glassfish4使用Moxy将REST响应序列化为JSON。有人知道如何将应用程序配置为使用Jackson而不是Moxy吗?如果要使用Jackson作为JSON提供程序,您需要在应用程序中注册(通过注册此功能,您可以禁用Moxy作为JSON提供程序) 您可以在强制Glassfish4使用Jackson而不是Moxy,glassfish,jersey,jackson,moxy,Glassfish,Jersey,Jackson,Moxy,Glassfish4使用Moxy将REST响应序列化为JSON。有人知道如何将应用程序配置为使用Jackson而不是Moxy吗?如果要使用Jackson作为JSON提供程序,您需要在应用程序中注册(通过注册此功能,您可以禁用Moxy作为JSON提供程序) 您可以在应用程序子类中执行此操作: public class MyApplication extends Application { public Set<Class<?>> getClasses() {
应用程序
子类中执行此操作:
public class MyApplication extends Application {
public Set<Class<?>> getClasses() {
final Set<Class<?>> classes = new HashSet<Class<?>>();
// Add root resources.
classes.add(HelloWorldResource.class);
// Add JacksonFeature.
classes.add(JacksonFeature.class);
return classes;
}
}
有关更多信息,请参阅Jersey用户指南中的章节。Michal Gajdos的回答是正确的,只需将此依赖项添加到pom.xml中
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>
org.glassfish.jersey.media
泽西媒体公司
2.26
在哪里可以找到Jackson的班级位置?JacksonFeature
位于org.glassfish.jersey.media:jersey media json jakson
。这个模块带来了Jackson 1.9.x。如果您想使用Jackson 2.x,只需在com.fasterxml.Jackson.jaxrs:Jackson-jaxrs-json-provider
上添加依赖项,就可以通过META-INF/services
机制自动启用它。有关使用Maven构建在GlassFish 4上实现此功能的完整说明,请参阅。我还将其添加到pom.xml并启动GlassFish 4.1。它仍然保留jackson版本2.3.2(默认为glassfish)
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>