前一分钟项目还可以正常运行的。可是后一分钟启动tomcat就出现了这样的错误。大侠们快出来帮助帮助、2011-8-31 10:17:43 org.apache.catalina.startup.HostConfig deployDirectory
严重: Error deploying web application directory SmartMt_1Platform
java.lang.ClassCastException: org.apache.naming.resources.FileDirContext cannot be cast to org.apache.naming.resources.Resource
at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:182)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4167)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2011-8-31 10:17:43 org.apache.coyote.http11.Http11Protocol start

解决方案 »

  1.   

    是不是jar的问题,查下lib目录
      

  2.   


    源代码太多了 就是在进入这个项目的时候 登陆 都登不进去 直接报 400 找不到 login.jsp 页面。
    要不我把login.jsp页面代码给你看下?
      

  3.   


    说清楚具体是什么jAR的问题?
      

  4.   

    <%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
    <%@page import="org.apache.commons.fileupload.FileItemFactory"%>
    <%@page import="org.apache.commons.fileupload.FileItem"%>
    <%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
    <%@page import="java.util.*"%>
    <%@page import="java.io.*"%>
    <%@page import="javax.sql.DataSource"%>
    <%@page import="java.text.SimpleDateFormat"%>
    <%@page import="java.sql.Timestamp"%><%@page import="smartmt.db.DataSourceFactory"%><%@page import="smartmt.db.FeedbackDao"%>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>上传文件</title>
    </head>
    <body>
    <% 
    String context = null; 
    String title = null;  
    DataSource ds = DataSourceFactory.getDataSource(); 
    FeedbackDao dao = new FeedbackDao(ds);  
    title = title == null ? "": new String(title 
    .getBytes("ISO-8859-1"), "GBK"); 
    context = context == null ? "" : new String(context 
    .getBytes("ISO-8859-1"), "GBK"); 
    Calendar cale = Calendar.getInstance();
    String createTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cale.getTime());
    int updated=0;
      //updated = dao.savePage(title,context,createTime);
      updated=dao.savePage(title,context,createTime);
    %>
    <table>
    <tr>
      <%if(updated>0){ %>
    <td>
    反馈成功
    </td>
    <%}else{ %>
    <td>
    反馈失败
    </td>
    <%} %>
    </tr>
    </table>
    </body>
    </html><%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%><html>
      <head>
        
        <title>用户反馈</title>
        
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <script src="fckeditor/fckeditor.js"></script>  </head>
      
      <body>
      <p><img src="1.jpg" width="813" height="30" /></p>
    <form action="add_confirm.jsp" method="get">
    <tr>
    <td>
    标题:<input name="title" type="text"  /> 
    </td>
    </tr>
    <br>
    <br>
    <br>
    <tr>
    <td>
    内容:<textarea name="context" rows=""></textarea>
    </td>
    </tr>
    <br>
    <br>         <input name="submit" type="submit" value="提交" />
    </form>
      </body>
    </html>
      

  5.   

    ExtensionValidator.java:182  你查看一下这行代码。应该有一个类型转换错误在这里。
      

  6.   

    是启动tomcat时就报错吧?应该是包有冲突了。你重装一下Tomcat,再部署。
      

  7.   

    Error deploying web application directory SmartMt_1Platform
    java.lang.ClassCastException: org.apache.naming.resources.FileDirContext cannot be cast to org.apache.naming.resources.Resource报400错误是请求无效。
    eclipse控制台报错的时候都可以点进相关代码里的啊。
    你就看看哪里类型无法强转嘛。
      

  8.   

    这和你调用方法无关。tomcat在加载时就有问题了,和你程序没有关系。一定是jar有问题。你找找吧。
      

  9.   

    先看看你加载的lib目录下有没有什么特殊的,不是jar的文件。
      

  10.   

    这个得你自己去排查了。把不用的JAR全删除掉,可以先全删除,再把需要的加进来。
      

  11.   

    java.lang.ClassCastException: org.apache.naming.resources.FileDirContext cannot be cast to org.apache.naming.resources.Resource8成是你jar没引对,或者代码里引用错了。看了下没有涉及到你自己的代码,那么就是jar错了。
    www.findjar.com 搜
      

  12.   

    如果你只是调用了一个方法,那先恢复到一分钟前看看,如果正常的话,那就是你后来写的代码的问题了;
    打个断点,debug一下,先找到报错的地方,后面就好解决了。
      

  13.   

    我查了下老外的网站是这么说的 你写的程序把包给损坏了!建议换下包!
    你可以先换classes12.jar包 ,看好使不?
      

  14.   

    你导入的类的类型是错的,
    java.lang.ClassCastException: org.apache.naming.resources.FileDirContext 
    cannot be cast to org.apache.naming.resources.Resource

    你自己查看下
    " import org.apache.naming.resources.FileDirContext 
    "
    把它换成org.apache.naming.resources.Resource
      

  15.   

    java.lang.ClassCastException: org.apache.naming.resources.FileDirContext cannot be cast to org.apache.naming.resources.Resource
    类型没转换过来啊
      

  16.   

    把tomcat下的webapps和work文件夹内的东西清空,然后从新部署试试。