• org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]


    项目原来是部署在weblogic中,今天想看看在tomcat中怎么样,于是就把项目发布在tomcat中,可是启动的时候遇到如下异常:

    严重: ContainerBase.addChild: start:
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1099)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1621)
    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:662)
    Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> basePath.java in servlet mapping
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3208)
    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:1294)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:855)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
    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)
    ... 11 more
    2013-4-8 14:23:00 org.apache.catalina.startup.HostConfig deployDirectory
    严重: Error deploying web application directory D:\tomcat 7.0\apache-tomcat-7.0.27\webapps\localhost
    java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/localhost]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:898)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1099)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1621)
    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:662)

    仔细查看了一下上面的异常,发现上面加粗的部分,于是找到了web.xml中的相关部分,代码如下:

    <servlet>
    <servlet-name>basePath</servlet-name>
    <servlet-class>com.localhost.website.commons.net.BasePathServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>basePath</servlet-name>
    <url-pattern>basePath.java</url-pattern>
    </servlet-mapping>

    这个是在weblogic中运行的,没有问题,现在发布到了tomcat中遇到了上面的问题,这是时候把

    <url-pattern>basePath.java</url-pattern> 修改成 <url-pattern>/basePath.java</url-pattern>

    启动的时候就没有问题了,原因可能是因为我在weblogic中配置的域名的问题,而没有项目名照成的,当然这个只是猜测,没有具体是查找

  • 相关阅读:
    how to pass a Javabean to server In Model2 architecture.
    What is the Web Appliation Archive, abbreviation is "WAR"
    Understaning Javascript OO
    Genetic Fraud
    poj 3211 Washing Clothes
    poj 2385 Apple Catching
    Magic Star
    关于memset的用法几点
    c++ 函数
    zoj 2972 Hurdles of 110m
  • 原文地址:https://www.cnblogs.com/andysd/p/3007426.html
Copyright © 2020-2023  润新知