2010-12-01 11 views
5

मैं जर्सी के साथ उपयोगकर्ताओं को संदेशों को प्रसारित करने में सक्षम होने के लिए वायुमंडल का प्रयास कर रहा हूं। हालांकि जर्सी एंडपॉइंट के अनुरोध पर, निम्नलिखित लॉग में दिखाई देते हैं और परिणाम 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> 

मैं क्या याद आ रही है? धन्यवाद!

उत्तर

6

समस्या स्पष्ट रूप से थी कि एप्लिकेशन में जेएक्स-आरएस के दो कार्यान्वयन किसी भी तरह मौजूद थे। इसे जर्सी स्कैन केवल शेष वर्ग वाले पैकेज को स्कैन करके हल किया जा सकता है और इसलिए अन्य जेएक्स-आरएस कार्यान्वयन से अनजान हो। जर्सी मेलिंग सूची और Jeanfrancois वायुमंडल मेलिंग सूची पर पर पॉल सैंडोज को

<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> 

धन्यवाद।

+0

धन्यवाद, यह मेरे मामले में पूरी तरह से काम किया है, जबकि अपाचे बिलाव मुझे बता रहा था "सेव: इंडेक्स 14 पर पैरामीटर पर विधि सार्वजनिक शून्य ऑर्गे.एपीएसीसीएक्सएफ.जेक्सर्स.प्रोवाइडर.रक्वेट डिस्पैटरप्रोवाइडर.सेट मैसेज कॉन्टेक्स्ट (org.apache.cxf.jaxrs.ext.MessageContext) के लिए विधि निर्भरता खोना" बस mypackage.with.the.rest बदल गया पैकेज के लिए क्लास जहां मेरा आरईएसटी परिभाषित किया गया था, और सबकुछ काम करता था। बहुत बहुत धन्यवाद। – tremendows

0

यह बताया गया web.xml में एक वेब एप्लिकेशन वर्णनकर्ता संस्करण पदावनति मदद कर सकते हैं देशी को निष्क्रिय (जर्सी) स्कैनिंग: http://cxf.apache.org/docs/jax-rs-deployment.html#JAX-RSDeployment-WebLogic

<!-- 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> 
संबंधित मुद्दे