如何删除Jersey和Apache ResponseImpl Collision?

时间:2014-02-15 15:44:36

标签: glassfish jersey cxf

我准备了一个示例驼峰休息网络应用程序。当我在Glassfish中部署它时,我收到的错误如下所示。如何解决这个问题?

<ns1:XMLFault xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.ClassCastException: com.sun.jersey.core.spi.factory.ResponseImpl cannot be cast to org.apache.cxf.jaxrs.impl.ResponseImpl</ns1:faultstring></ns1:XMLFault>

1 个答案:

答案 0 :(得分:0)

您正在部署的WAR文件可能包含Apache CXF。 Jersey和CXF都是JAX-RS实现,Jersey内置于Glassfish。在类路径上有两个JAX-RS实现会导致问题。

假设您正在使用Maven,请尝试使用JAX-RS API或Jersey上的依赖项替换您的CXF依赖项。将依赖项标记为<scope>provided</scope>以避免将其包含在WAR文件中,因为Glassfish将提供它。