Java Apache Tomcat上的GWT项目:启动期间子容器失败

Java Apache Tomcat上的GWT项目:启动期间子容器失败,java,tomcat,servlets,gwt,Java,Tomcat,Servlets,Gwt,我最近在GWT项目中添加了另一个servlet。在将它分离到tomcat之后,我得到了一个错误。当我在dev.模式下运行它时,servlet容器按预期工作 编辑:应该添加tomcat由于错误而无法启动 catalina.2014-11-26日志: 26-Nov-2014 08:20:53.930 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container

我最近在GWT项目中添加了另一个servlet。在将它分离到tomcat之后,我得到了一个错误。当我在dev.模式下运行它时,servlet容器按预期工作

编辑:应该添加tomcat由于错误而无法启动

catalina.2014-11-26日志:

26-Nov-2014 08:20:53.930 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> buysmarter/download in servlet mapping
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3125)
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3100)
    at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5095)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
2014年11月26日08:20:53.930严重[Catalina-startStop-1]org.apache.Catalina.core.ContainerBase.startInternal子容器在启动过程中失败
java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[]
位于java.util.concurrent.FutureTask.report(未知源)
位于java.util.concurrent.FutureTask.get(未知源)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
位于org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:868)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
位于java.util.concurrent.FutureTask.run(未知源)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于java.lang.Thread.run(未知源)
原因:org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[]
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 还有6个
原因:java.lang.IllegalArgumentException:servlet映射中的buysmarter/download无效
位于org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3125)
位于org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3100)
位于org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1372)
位于org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1176)
位于org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
位于org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5095)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 还有6个
My web.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
    version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">

    <!-- Servlets -->
    <servlet>
        <servlet-name>buySmarterServiceImpl</servlet-name>
        <servlet-class>dk.buysmarter.gwt.buysmarter.server.BuySmarterServiceImpl</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>buySmarterServiceImpl</servlet-name>
        <url-pattern>/buysmarter/buysmarterservice</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>DownloadServlet</servlet-name>
        <servlet-class>dk.buysmarter.gwt.buysmarter.server.DownloadServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>DownloadServlet</servlet-name>
        <url-pattern>buysmarter/download</url-pattern>
    </servlet-mapping>

    <!-- Default page to serve -->
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

购买智能服务impl
dk.buysmarter.gwt.buysmarter.server.BuySmarterServiceImpl
购买智能服务impl
/购买智能服务/购买智能服务
下载servlet
dk.buysmarter.gwt.buysmarter.server.DownloadServlet
下载servlet
购买智能手机/下载
index.html
我已将tomcat配置为tomcat server.xml,以便:

<Context path="" docBase="war">
     <!-- Default set of monitored resources -->
     <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
<Context path="ROOT" docBase="ROOT">
     <!-- Default set of monitored resources -->
     <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

WEB-INF/WEB.xml
WEB-INF/WEB.xml

DownloadServlet
的servlet映射中,它不是
/buysmarter/download
而不是
buysmarter/download
吗?它不应该是no。如果我添加/buysmarter/download,它将打开url.com//buysmarter/download请检查此链接是否存在有效的
url模式
I将web.xml更改为/buysmarter/download。仍然看到同样的错误吗