Dependencies 缺少与大气和球衣的依赖关系
我正在尝试与Jersey一起向用户广播消息。但是,在向Jersey端点发出请求时,以下内容会出现在日志中并导致ServletExceptionDependencies 缺少与大气和球衣的依赖关系,dependencies,jersey,atmosphere,Dependencies,Jersey,Atmosphere,我正在尝试与Jersey一起向用户广播消息。但是,在向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.provi
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
stacktrace的一部分:
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>
组织气氛
大气运动衫
0.6.3
我错过了什么?谢谢 问题显然是应用程序中存在两种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>
大气小卫星
大气小卫星
org.atmosphere.cpr.AtmosphereServlet
...
com.sun.jersey.config.property.packages
mypackage.with.the.rest.classes
感谢泽西岛邮件列表上的Paul Sandoz和大气邮件列表上的Jeanfrancois。据报道,在web.xml中降级web应用描述符版本有助于禁用本机(泽西岛)扫描:
谢谢,当Apache Tomcat告诉我“严重:缺少方法public void org.Apache.cxf.jaxrs.provider.RequestDispatcherProvider.setMessageContext(org.Apache.cxf.jaxrs.ext.MessageContext)在索引14处的参数时,它在我的情况下工作得非常好。”刚刚为定义了我的rest的包更改了mypackage.with.the.rest.class,一切正常。谢谢。
<!-- From: -->
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd">
</web-app>
<!-- To: -->
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>