Tôi đang cố gắng làm theo this hướng dẫn về việc tạo ra một dịch vụ REST web đơn giản, tuy nhiên tôi nhận được để triển khai nó trên tomcat và nó ném một ngoại lệ:Tomcat thất bại trong việc triển khai .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]]
Tôi đã nhìn xung quanh cho một giải pháp và tìm thấy điều này question và điều này one và họ làm cho tôi nghĩ rằng đó là một vấn đề bản đồ servlet tuy nhiên tôi không chắc làm thế nào để sửa chữa nó!
Đây là tập tin đăng nhập của tôi:
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)
đây là file web.xml của tôi:
<?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>
và có nguy cơ đem lại cho bạn tất cả các quá nhiều thông tin, đây là một ls của cấu trúc thư mục của tôi:
.:
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
Đây là bài đăng tương tự - http://stackoverflow.com/questions/8512588/tomcat-lifecycleexception-when-deploying – EJK
Có, tôi biết là tôi đã đăng trong câu hỏi của mình '" Tôi đã xem xét giải pháp và tìm thấy câu hỏi này ".' Tôi chỉ không chắc chắn cho dù đó là một) một vấn đề servlet và b) những gì tôi cần phải làm để sửa chữa nó – Pete
Xin lỗi, không theo liên kết bạn đăng. Dù sao, nó có vẻ giống như một vấn đề trong web.xml. Nếu tôi là bạn, tôi sẽ thử những điều sau đây ... Lấy các phần tử servlet và servlet-mapping ra khỏi web.xml. Triển khai lại và xem bạn có gặp lỗi tương tự không. Nếu không, thì bạn có một ý tưởng tốt hơn về nguyên nhân gốc rễ. Bạn cũng có thể muốn xác minh rằng com/sun/jersey/spi/container/servlet/ServletContainer.class tồn tại trong một trong các tệp jar trong thư mục WEB-INF/lib của bạn (bắt đầu với jersey-server-1.16.jar). – EJK