我用Eclipse - Lomboz开发一个Web Application时,不小心把Tomcat弄坏了,重新安装了一下Tomcat,结果,再在Eclipse中启动,就出现了下面这个错误。但是把整个项目拷贝到Tomcat/Webapps下面,就不会出错。这是咋回事啊,大哥们…  谢谢你们了!错误报告如下:
严重: Unexpected error parsing /WEB-INF/web.xml: java.io.FileNotFoundException
java.io.FileNotFoundException
at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:297)
at com.sun.faces.config.WebXmlParser.getFacesServletMappings(WebXmlParser.java:115)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:180)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2006-12-19 11:15:46 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
javax.faces.FacesException: Unexpected error parsing /WEB-INF/web.xml: java.io.FileNotFoundException
at com.sun.faces.config.WebXmlParser.getFacesServletMappings(WebXmlParser.java:123)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:180)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.io.FileNotFoundException
at org.apache.naming.resources.DirContextURLConnection.getInputStream(DirContextURLConnection.java:297)
at com.sun.faces.config.WebXmlParser.getFacesServletMappings(WebXmlParser.java:115)
... 16 more

解决方案 »

  1.   

    Web.xml文件如下:
    <?xml version="1.0" encoding="UTF-8"?>
     
     <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
        <description>
            JSF Demo
        </description>
        <display-name>JSF Demo</display-name>
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>
                javax.faces.webapp.FacesServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        
        <listener>
         <listener-class>cn.com.pbi.netmgr.web.morning.MainContextListener</listener-class>
    </listener>
        
       
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>*.faces</url-pattern>
        </servlet-mapping>
       
        <welcome-file-list>
            <welcome-file>pages/index.jsp</welcome-file>
        </welcome-file-list> </web-app>
      

  2.   

    在Eclipse下再新建一个工程,将文件重新导入在试试
      

  3.   

    按照提示是web.xml有问题
    找一个好用web.xml覆盖当前的试一下
      

  4.   

    我重新建了一个工程也不行啊,覆盖了web.xml也不行啊。
    问题应该不会在这里吧。
    因为我把项目原封不动拷贝到Tomcat\webapps下面,好使的……
      

  5.   

    确定web.xml是否在web-inf目录下?不要在myeclipse启动tomcat,直接在tomcat/bin目录启动,看是否有该错误?
      

  6.   

    注意到有这么一段。严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
    javax.faces.FacesException: Unexpected error parsing /WEB-INF/web.xml: java.io.FileNotFoundException看看你的Tomcat的配置文件server.xml以及conf\conf\Catalina\localhost\下你的项目名字的xml文件。应该是在解析的时候出错了。导致没有载入。