Ich versuche this Tutorial zu folgen, auf ein einfaches REST-Webservice, jedoch bekomme ich es auf Kater Bereitstellung und es löst eine Ausnahme:Tomcat Fehler zu implementieren .war
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]]
Ich habe sehe um für eine Lösung und fand diese question und diese one und sie lassen mich denken, dass es ein Servlet-Mapping-Problem ist, aber ich bin mir nicht sicher, wie man es beheben kann!
Hier ist meine Log-Datei:
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)
hier ist meine web.xml-Datei:
<?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>
und Risiko Sie alle viel zu viele Informationen zu geben, hier ist ein ls von meine Ordnerstruktur:
.:
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
Hier ist ein ähnlicher Beitrag - http://stackoverflow.com/questions/8512588/tomcat-lifecycleexception-when-deploying – EJK
Ja, ich bin mir bewusst, wie ich in meiner Frage geschrieben habe "" Ich habe nach einer Lösung gesucht und habe diese Frage gefunden ".' Ich bin nur nicht sicher, ob es a) ein Servlet-Problem und b) was ich tun muss, um es zu beheben – Pete
Entschuldigung, folgte nicht dem Link, den Sie gepostet haben. Wie auch immer, es klingt sehr nach einem Problem in web.xml. Wenn ich Sie wäre, würde ich Folgendes versuchen ... Nehmen Sie die Servlet- und Servlet-Mapping-Elemente aus web.xml heraus. Re-deploy und sehen, wenn Sie den gleichen Fehler erhalten. Wenn nicht, dann haben Sie eine bessere Vorstellung von der Ursache. Sie können auch überprüfen, ob com/sun/jersey/spi/container/servlet/ServletContainer.class in einer der JAR-Dateien in Ihrem WEB-INF/lib-Ordner vorhanden ist (beginnen Sie mit jersey-server-1.16.jar). – EJK