Tomcat未能部署.war

我正在尝试按照本教程创建一个简单的REST Web服务,但是我会在tomcat上部署它并抛出exception:

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

我已经四处寻找解决方案并找到了这个问题而且这个问题他们让我觉得这是一个servlet映射问题但是我不确定如何修复它!

这是我的日志文件:

 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文件:

    RestfulContainer com.sun.jersey.spi.container.servlet.ServletContainer  com.sun.jersey.config.property.packages com.mcnz.ws  1   RestfulContainer /resources/*   

并且冒着给你所有太多信息的风险,这里是我文件夹结构的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 

如上面的注释所示,问题结果是应用程序web.xml引用了servlet定义中的java类。 通过确保应用程序实际包含该类来纠正问题。 找到丢失的jar文件并将其放入WEB-INF / lib目录中。