2012-12-17 45 views
14
.war

मैं एक साधारण बाकी वेब सेवा बनाने पर this ट्यूटोरियल का पालन करने के कोशिश कर रहा हूँ की तैनाती करने में नाकाम रहने:बिलाव लेकिन मैं बिल्ला पर तो उसे लागू करने के लिए मिलता है और यह एक अपवाद फेंकता है,

FAIL - Application at context path /restful could not be started 
FAIL - Encountered exception org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/restful]] 

मैं देखा है एक समाधान के लिए और यह question और यह one पाया और वे मुझे लगता है कि यह एक सर्वलेट मैपिंग समस्या है हालांकि मुझे यकीन नहीं है कि इसे कैसे ठीक किया जाए!

18/12/2012 9:57:16 AM org.apache.catalina.startup.HostConfig deployWAR 
SEVERE: Error deploying web application archive /opt/tomcat7/webapps/restful.war 
java.lang.IllegalStateException: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/restful]] 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:619) 

यहां मेरे web.xml फ़ाइल है:

यहाँ मेरी लॉग फ़ाइल है

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <servlet> 
    <servlet-name>RestfulContainer</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.mcnz.ws</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>RestfulContainer</servlet-name> 
    <url-pattern>/resources/*</url-pattern> 
    </servlet-mapping>  

</web-app> 

और आप सभी अभी तक बहुत ज्यादा जानकारी देने का खतरा होता है, यहाँ की एक ls है मेरा फ़ोल्डर संरचना:

.: 
WEB-INF 

./WEB-INF: 
classes 
lib 
web.xml 

./WEB-INF/classes: 
com 

./WEB-INF/classes/com: 
mcnz 

./WEB-INF/classes/com/mcnz: 
ws 

./WEB-INF/classes/com/mcnz/ws: 
HelloWorldResource.class 
HelloWorldResource.java 

./WEB-INF/lib: 
asm-3.1.jar 
jackson-core-asl-1.9.2.jar 
jackson-jaxrs-1.9.2.jar 
jackson-mapper-asl-1.9.2.jar 
jackson-xc-1.9.2.jar 
jersey-client-1.16.jar 
jersey-core-1.16.jar 
jersey-json-1.16.jar 
jersey-server-1.16.jar 
jettison-1.1.jar 
jsr311-api-1.1.1.jar 
+0

यहां एक समान पोस्ट है - http://stackoverflow.com/questions/8512588/tomcat-lifecycleexception-when- – EJK

+0

तैनाती हां, मुझे पता है क्योंकि मैंने अपने प्रश्न में पोस्ट किया है "मैंने एक समाधान के लिए चारों ओर देखा है और यह प्रश्न मिला "।" मुझे यकीन नहीं है कि यह एक है) एक सर्वलेट मुद्दा और बी) इसे ठीक करने के लिए मुझे क्या करना है – Pete

+1

क्षमा करें, आपके द्वारा पोस्ट किए गए लिंक का पालन न करें। वैसे भी, यह web.xml में एक समस्या की तरह लगता है। अगर मैं आप थे, तो मैं निम्नलिखित कोशिश करता हूं ... सर्वलेट और सर्वलेट-मैपिंग तत्वों को web.xml से बाहर ले जाएं। फिर से तैनात करें और देखें कि क्या आपको एक ही त्रुटि मिलती है। यदि नहीं, तो आपके मूल कारण का बेहतर विचार है। आप यह भी सत्यापित करना चाहते हैं कि कॉम/सन/जर्सी/स्पि/कंटेनर/सर्वलेट/ServletContainer.class आपके वेब-आईएनएफ/lib फ़ोल्डर में जार फ़ाइलों में से एक में मौजूद है (जर्सी-सर्वर-1.16.jar से शुरू करें)। – EJK

उत्तर

9

जैसा कि उपर्युक्त टिप्पणी दिखाती है, समस्या यह साबित हुई कि एप्लिकेशन web.xml re एक सर्वलेट परिभाषा में एक जावा वर्ग ferenced। यह सुनिश्चित करके समस्या को सही किया गया था कि वास्तव में उस वर्ग में एप्लिकेशन शामिल था। गायब जार फ़ाइल स्थित थी और वेब-आईएनएफ/lib निर्देशिका में डाल दिया गया था।