【问题标题】:OmniFaces 1.8.1 SEVERE: WebXml failed to initialize. Perhaps your web.xml contains a typo?OmniFaces 1.8.1 严重:WebXml 无法初始化。也许您的 web.xml 包含拼写错误?
【发布时间】:2014-10-09 04:20:52
【问题描述】:

我正在尝试在我的项目中安装 OmniFaces。我将omnifaces-1.8.1.jar 放在/WEB-INF/lib 文件夹中,并在web.xml 中实现FacesViews 配置。

<context-param>
    <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name>
    <param-value>/*.xhtml</param-value>
</context-param>

但是,在部署期间,我得到以下异常:

SEVERE: WebXml failed to initialize. Perhaps your web.xml contains a typo?
    java.lang.ClassNotFoundException: java.lang.java.io.IOException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:190)
        at org.omnifaces.config.WebXml.parseErrorPageLocations(WebXml.java:434)
        at org.omnifaces.config.WebXml.init(WebXml.java:147)
        at org.omnifaces.facesviews.FacesViewsInitializerListener.contextInitialized(FacesViewsInitializerListener.java:63)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

    Oct 09, 2014 9:48:08 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Exception sending context initialized event to listener instance of class org.omnifaces.facesviews.FacesViewsInitializerListener
    java.lang.RuntimeException: java.lang.ClassNotFoundException: java.lang.java.io.IOException
        at org.omnifaces.config.WebXml.init(WebXml.java:156)
        at org.omnifaces.facesviews.FacesViewsInitializerListener.contextInitialized(FacesViewsInitializerListener.java:63)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.ClassNotFoundException: java.lang.java.io.IOException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:190)
        at org.omnifaces.config.WebXml.parseErrorPageLocations(WebXml.java:434)
        at org.omnifaces.config.WebXml.init(WebXml.java:147)
        ... 10 more

【问题讨论】:

  • 我认为应该是*.xhtml insted of /*.xhtml
  • 不,即使我删除/出现同样的问题。

标签: jsf web.xml omnifaces


【解决方案1】:

查看根本原因:

Caused by: java.lang.ClassNotFoundException: java.lang.java.io.IOException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at org.omnifaces.config.WebXml.parseErrorPageLocations(WebXml.java:434)

你显然有一个:

<exception-type>java.lang.java.io.IOException</exception-type>

那个异常类确实不存在。相应地修复它:

<exception-type>java.io.IOException</exception-type>

您的web.xml 肯定有错字。

【讨论】:

  • great Mr.balusc,你能解释一下错字是什么意思
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
相关资源
最近更新 更多