Причина «Ошибки развертывания дескриптора конфигурации» в Tomcat 7.0.12

#java #tomcat #jakarta-ee

#java #tomcat #джакарта-ee

Вопрос:

Когда я пытаюсь развернуть файл WAR, поместив его в каталог webapps, я получаю следующее сообщение в консоли:

 04.05.2011 19:34:07 org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying configuration descriptor xyz.war
  

Я не нашел никаких намеков на подробную причину этого в журналах.

Где я могу узнать подробности (например, трассировку стека) об этом сбое?

Вот web.xml:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>myapp</display-name>
    <context-param>
        <description>
    Vaadin production mode</description>
        <param-name>productionMode</param-name>
        <param-value>false</param-value>
    </context-param>
    <servlet>
        <servlet-name>Project Control Center Application</servlet-name>
        <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
        <init-param>
            <description>
        Vaadin application class to start</description>
            <param-name>application</param-name>
            <param-value>at.mycompany.myapp.ProjectControlCenterApplication</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>Project Control Center Application</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <listener>
        <listener-class>at.mycompany.myapp.impl.persistence.DatabaseStartStopServletContextListener</listener-class>
    </listener>
    <session-config>
        <session-timeout>480</session-timeout>
    </session-config>
</web-app>
  

Комментарии:

1. Я вставил web.xml содержимое файла в моем вопросе.

Ответ №1:

Я нашел ответ. Причиной проблемы был неправильно сформированный context.xml файл.

Комментарии:

1. Итак, как исправить? это не ответ

2. пожалуйста, опубликуйте подходящий ответ на этот вопрос, он будет полезен многим.

Ответ №2:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" ...>
    <welcome-file-list>
        <welcome-file>
            ...
        </welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>info</servlet-name>
        <servlet-class>servlets.info.Properties</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Properties</servlet-name>
        <!-- Here I forget to change the servlet name to info -->
        <!-- So, the reason is invalid web.xml file -->
        <url-pattern>/Properties</url-pattern>
    </servlet-mapping>
</web-app>
  

Дважды проверьте свой web.xml файл.