tomcat - tomcat7.x 中的 java.util.concurrent.ExecutionException

标签 tomcat

我通过在 tomcat5.x 的 server.xml 中添加以下行来获得 tomcat 代码,它工作正常。

<Host name="nsncatbranch" debug="0" appBase="D:/svn/branch/rncom/modules/web/clients/web/web/operationsmanager"
                unpackWARs="false" autoDeploy="false">

                <Logger className="org.apache.catalina.logger.FileLogger"
                    prefix="om_log." suffix=".log"
                    timestamp="true"/>

        <Context path="" docBase="D:/svn/branch/rncom/modules/web/clients/web/web/operationsmanager" debug="0"
               reloadable="false" crossContext="false" />
    </Host>

但在 tomcat7.x 中它给了我以下错误。

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].St
andardHost[nsncatbranch].StandardContext[]]
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
        at java.util.concurrent.FutureTask.get(FutureTask.java:111)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1130)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:782)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[nsncatbranch].Stand
ardContext[]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
        ... 7 more
Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name invoker
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3204)
        at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3183)
        at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1302)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1302)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        ... 7 more

我没有在 web.xml 中评论调用程序时出现上层错误。我面临如下所述的新错误。

SEVERE: Unable to determine URL for WEB-INF/classes
javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found
        at org.apache.naming.resources.BaseDirContext.listBindings(BaseDirContext.java:733)
        at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:546)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

最佳答案

我遇到了同样的问题,Patrick 是对的,问题出在 web.xml 文件中。我删除了以下标签:

 <servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

它工作正常。所以我的建议是再次检查 web.xml 文件并确保其中的所有内容都正常。

关于tomcat - tomcat7.x 中的 java.util.concurrent.ExecutionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9129808/

相关文章:

java tomcat : how to use JOAuth properly

java - 如何使用 Tomcat 加载我的自定义 session ID 生成器

spring - 强制 maven 到 drools-camel 的最新 Spring 版本

java - Spring boot WAR 从 maven 运行,而不是从命令行运行?

Apache:ProxyPass max 参数无效

java - 如何根据请求在 java bean 中动态更改 "constant"值( hibernate )?

java - 使用 context.xml 配置 WebApp 以使用 Tomcat

web-services - 为什么我无法访问本地主机上的 Axis2 服务?

java - Spring Boot 忽略来自外部 application.properties 的日志记录级别

eclipse - 无法将服务器添加到移动的工作区