【问题标题】:org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start: java.util.concurrent.ExecutionExceptionorg.apache.catalina.core.ContainerBase startInternal SEVERE:子容器在启动期间失败:java.util.concurrent.ExecutionException
【发布时间】:2016-05-14 13:22:01
【问题描述】:

我错过了什么?我已经尝试了很多方法来解决这个问题,但我仍然收到以下错误: 我可以做些什么来解决这个问题?

May 14, 2016 10:13:53 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/visminer-dashboard]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/visminer-dashboard]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
    ... 6 more
Caused by: java.lang.IllegalArgumentException: The servlets named [org.visminer.servlets.MetricsServlet] and [org.visminer.servlets.RepositoryServlet] are both mapped to the url-pattern [/RepositoryServlet] which is not permitted
    at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:308)
    at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2373)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2055)

【问题讨论】:

  • 我把 web.xml 放在下面。
  • 错误提示您有 2 个映射到 /RepositoryServlet 的 servlet。如果它们没有在 web.xml 中注册,我会说它们是用 @WebServlet 注释的?
  • 我明白了,嗯,但它们使用@WebServlet 表示法。除此之外,还尝试制作一个新的 Web 项目,其中只有一个 html 页面。但是,我收到此错误:org.apache.coyote.AbstractProtocol destroy SEVERE: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"] java.lang.NullPointerException
  • 所以,我不知道发生了什么。
  • 我也不知道第二个错误。但似乎您已经将 MetricsServlet 和 RepositoryServlet 都映射到 @WebServlet 注释中的相同 urlpattern 。您必须更改其中的 1 个 - 这就是错误所说的

标签: eclipse apache tomcat server


【解决方案1】:

@Jaqen H'ghar

web.xml(如果需要),但我不知道那个 xml 是否正确,或者他来自 tomcat 的那个是否正确。:

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>visminer-dashboard</display-name>
  <servlet>
    <servlet-name>Visminer Loader</servlet-name>
    <servlet-class>org.visminer.servlets.RepositoryMinerLoader</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>UrlFilter</filter-name>
    <filter-class>org.visminer.filter.UrlFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>UrlFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

【讨论】:

    猜你喜欢
    • 2014-01-14
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    相关资源
    最近更新 更多