dependencies - 缺少 Atmosphere 和 Jersey 的依赖项

标签 dependencies jersey atmosphere

我正在尝试与 Jersey 一起使用 Atmosphere 来向用户广播消息。但是,根据对 Jersey 端点的请求,日志中会出现以下内容并导致 ServletException。

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.JSONProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 7
  SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.RequestDispatcherProvider.mc
  SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.JAXBElementProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 1
  SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.MultipartProvider.mc
  SEVERE: Missing dependency for method public void org.apache.cxf.jaxrs.provider.JAXBElementProvider.setMessageContext(org.apache.cxf.jaxrs.ext.MessageContext) at parameter at index 13
  SEVERE: Missing dependency for field: private org.apache.cxf.jaxrs.ext.MessageContext org.apache.cxf.jaxrs.provider.FormEncodingProvider.mc

堆栈跟踪的一部分:
SEVERE: Allocate exception for servlet AtmosphereServlet
javax.servlet.ServletException
    at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:540)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)

我正在使用 Maven 并添加了以下依赖项:
<dependency>
  <groupId>org.atmosphere</groupId>
  <artifactId>atmosphere-jersey</artifactId>
  <version>0.6.3</version>
</dependency>

我错过了什么?谢谢!

最佳答案

问题显然在于应用程序中以某种方式存在 JAX-RS 的两个实现。这可以通过让 Jersey 只扫描包含 Rest 类的包来解决,因此不知道其他 JAX-RS 实现。

<servlet>
  <description>AtmosphereServlet</description>
  <servlet-name>AtmosphereServlet</servlet-name>
  <servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class>
   ...
  <init-param>
    <param-name>com.sun.jersey.config.property.packages</ param-name> 
    <param-value>mypackage.with.the.rest.classes</param-value>
  </init-param>
</servlet>

感谢 Jersey 邮件列表中的 Paul Sandoz 和 Atmosphere 邮件列表中的 Jeanfrancois。

关于dependencies - 缺少 Atmosphere 和 Jersey 的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326904/

相关文章:

java - Jersey 第一次与第二次等待响应的时间差异

java - GlassFish JAX-RS Jackson 自定义 JSON 序列化

sockets - 标签库支持命名空间: http://primefaces. org/ui,但未为名称定义标签:套接字

java - 为什么 Netbeans 无法识别我的 Grails 应用程序中的 Maven 依赖项导入?

java - Maven 依赖项 : ranges resolving issue

java - Swagger UI 导致 HTTP 406 对生成 json 以外的内容类型的操作 Not Acceptable 响应

java - 将 JSON 从 Javascript 客户端发送到 Atmosphere 框架中的 Jersey 资源

apache2 - 如何通过 Apache HTTP 服务器让 Vaadin Push 工作?

java - 处理可选依赖的最佳策略

Xcode 有时会删除链接库