我需要知道如何在WebSphere Application Server环境(版本8.0和8.5)上覆盖默认的JSON提供程序。由于杰克逊图书馆版本1.6(https://github.com/FasterXML/jackson-module-jaxb-annotations/issues/3)上发现了一个问题,我需要这样做。
如果有人能提供帮助,那将非常受欢迎。
答案 0 :(得分:1)
我不知道你是否想要完全避免使用杰克逊,或者你只想要一个不同的版本。
在您的应用程序中,您可以注册所需的提供程序。例如,要使用Jettison,您需要以下内容:
import org.apache.wink.providers.jettison.JettisonJAXBProvider;
import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;
public class YourApplication extends Application {
@Override
public Set<Object> getSingletons() {
Set<Object> singletons = new HashSet<Object>();
JettisonJAXBProvider jaxbProvider = new JettisonJAXBProvider();
singletons.add(jaxbProvider);
return singletons;
}
}
如果您需要不同的Jackson版本,为什么不将它放入WEB-INF / lib并将Web模块类加载策略设置为PARENT_LAST?