【问题标题】:Trouble Deploying WAR file. Failed to start component []部署 WAR 文件时遇到问题。无法启动组件 []
【发布时间】:2014-12-08 12:04:39
【问题描述】:

我目前在将 WAR 文件部署到我的 Tomcat7 服务器时遇到问题(我是使用 java 的 web 开发新手)。在 Eclipse 中一切正常,但是当我生成 WAR 文件并将其部署到服务器时,出现以下错误。 “无法启动组件 []” 下面是日志转储。

Caused by: org.apache.catalina.LifecycleException: Failed to process either the global, per-host or context-specific context.xml file therefore the [] Context cannot be started.
    at org.apache.catalina.startup.FailedContext.startInternal(FailedContext.java:158)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 31 more
Oct 13, 2014 7:22:56 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'mysite.com'
Oct 13, 2014 7:23:11 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLHostManager: list: Listing hosts for engine [Catalina]
Oct 13, 2014 8:05:48 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'mysite.com'
Oct 13, 2014 8:06:08 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: start: Starting web application '/'
Oct 13, 2014 8:06:08 PM org.apache.catalina.core.ApplicationContext log
SEVERE: FAIL - Application at context path / could not be started
org.apache.catalina.LifecycleException: Failed to start component []
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1291)
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:694)
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:217)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at         org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to process either the global, per-host or context-specific context.xml file therefore the [] Context cannot be started.
    at org.apache.catalina.startup.FailedContext.startInternal(FailedContext.java:158)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 31 more

当我删除我的 /META-INF/context.xml 文件时,它似乎加载得很好,但是我不能使用我的数据库连接。

我的 context.xml 在下面。

<context>

    <Resource name="jdbc/mysitedb" auth="Container" 
        maxActive="100" maxIdle="30" maxWait="10000" 
        username="myusername" password="mypassword" 
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://www.mysite.com/mysitedb?autoReconnect=true" 
        logAbandoned="true" removeAbandoned="true" 
        removeAbandonedTimeout="60" type="javax.sql.DataSource" />

</context>  

我是 JSP 新手,因此我们将不胜感激。

【问题讨论】:

  • 只是我发现的一件事,在您配置资源时,在 url 中有一个像 autoReconnect=true 这样的配置值似乎有些错误,请尝试将此配置移动到资源配置中;)

标签: java jsp tomcat


【解决方案1】:

如果这真的是你完整的 context.xml,你需要将它包装在一个 Context 元素中:

<Context>
  <Resource name="jdbc/mysitedb" auth="Container" 
    maxActive="100" maxIdle="30" maxWait="10000" 
    username="myusername" password="mypassword" 
    driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://www.mysite.com/mysitedb?autoReconnect=true" 
    logAbandoned="true" removeAbandoned="true" 
    removeAbandonedTimeout="60" type="javax.sql.DataSource" />
</Context>

您的 Tomcat 正在尝试加载一个未命名的组件。可能是那个损坏的 context.xml。对于损坏的 web.xml,您可能会遇到类似的错误。

【讨论】:

  • 很抱歉,上下文文件的其余部分没有被纳入。它被包裹在上下文标签中。
  • @JarodKnoten 您已经发布了整个代码,但您没有为此使用代码块。这就是为什么&lt;context&gt; 标签没有被渲染。将来对所有代码使用代码块。
  • @JarodKnoten 你的 context.com 中的 &lt;context&gt; 是否以大写 C 开头?因为它应该是 &lt;Context&gt;,而不是 &lt;context&gt;(如您更新的问题中所示)。
  • 我有一个小写的“C”。修复了它,现在它可以正确部署了!这样一个简单的解决方案我可能永远不会遇到麻烦。感谢时间!
  • 由于 标签中的小写“c”,我遇到了完全相同的问题。将其更改为大写“C”。谢谢。
猜你喜欢
  • 2011-06-03
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2023-03-18
  • 2011-06-14
  • 2015-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多