【问题标题】:SEVERE: Exception sending context initialized event to listener instance of class org.apache.struts2.tiles.StrutsTilesListener严重:向 org.apache.struts2.tiles.StrutsTilesListener 类的侦听器实例发送上下文初始化事件的异常
【发布时间】:2011-09-15 06:12:50
【问题描述】:

在构建war文件(Struts2.0)并将其部署在本地tomcat上时,一切正常,我可以访问网页,但是当我尝试将它部署在远程服务器上时,我得到了以下信息例外。我检查了tiles.xml 中的DTD 切片veriosn,它看起来不错。你能建议我解决这个错误的方法吗?

Sep 15, 2011 7:34:37 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.apache.struts2.tiles.StrutsTilesListener
java.lang.IllegalStateException: Unable to instantiate container.
    at org.apache.tiles.listener.TilesListener.contextInitialized(TilesListener.java:60)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4336)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1206)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1307)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1571)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1560)
    at java.lang.Thread.run(Unknown Source)

嗨 我的 struts 版本是 2.0.6,tiles 是 2.0,我没有任何其他错误。我也看不到本地和远程之间的差异 – veeru 9 分钟前

【问题讨论】:

  • 你使用的是哪个版本的图块和哪个版本的 truts2
  • 您确定要部署所有必需的库吗?如果您打开了 devMode,并在 DEBUG 级别记录日志,您会在日志中看到任何进一步的异常吗?您的本地环境和远程环境之间还有其他区别吗?
  • 我的 struts 版本是 2.0.6,tiles 是 2.0,我没有任何其他错误。本地和远程之间的差异我也看不到

标签: struts2 struts


【解决方案1】:

得到了答案。问题解决了。 web.xml 中的错误。

本地服务器在 windows 上,而远程服务器在 unix 上 所以在 web.xml 中提到相关路径是错误的( / 在 unix 服务器中不需要)

【讨论】:

    【解决方案2】:

    这可能是由于缺少依赖项造成的。搜索此错误会出现几次不包括以下人员的情况:

    • commons-beanutils-VERSION.jar
    • commons-collections-VERSION.jar
    • commons-digest-VERSION.jar

    确保您满足此处列出的所有要求:To use Tiles in your application you need

    这是另一个相同错误的示例:Struts2 & Tiles: When apache.org is down my webapp fails to start

    最后一个是 DTD 版本不匹配。

    正如您所看到的,这可能是由于多种原因造成的,但由于它适用于您的本地 PC 而不是远程 PC,因此我倾向于缺少依赖项。

    【讨论】:

    • 我已经检查了罐子。它们存在,我也检查了 DTD 的版本。它是正确的。可能还有其他问题。是的,奇怪的是,它在我的本地 PC 上是如何工作的?我将相同的战争文件带到远程并尝试在那里部署:-(
    • 您是否尝试过复制构建目录而不是通过战争文件部署?您也可以检查您的服务器库是否存在差异。不同版本的 Tomcat 有时会有不同的库,或者您可能将一些库放在 Tomcat 本地而不是远程服务器上(假设您正在运行 Tomcat)。
    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 2015-09-30
    • 2017-01-25
    • 1970-01-01
    • 2013-08-09
    • 2014-06-21
    • 1970-01-01
    相关资源
    最近更新 更多