OmniFaces 1.8.1严重:WebXml无法初始化。也许您的web.xml包含拼写错误?

时间:2014-10-09 04:20:53

标签: jsf web.xml omnifaces

我正在尝试在我的项目中安装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

1 个答案:

答案 0 :(得分: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肯定包含了拼写错误。