java.lang.NoClassDefFoundError这个异常是什么意思我的程序里,明明都可以 new到那个class但是Class.forName()的时候就会报出这样的异常说明我出错的这个类是放在jar包里的
我测试了一个自己写的类使用Class.forName()可以调到。

解决方案 »

  1.   

    你自己写的类当然可以找到,因为是你自己写的类,而你引用别人打好的JAR包中的类,则必须配置到你的环境中去,一般也就是拷贝到你的LIB中去,才可以找到。。
      

  2.   

    你是连数据库吧,Class.forName()里是你所调用的数据库的驱动,看下你有没有装。
      

  3.   

    不是连数据库
    我不说了吗,我都new 到了,我肯定是配置了class patch啊
      

  4.   

    你可以new到说明这个类已经在你的classpath中了,如果你Class.forName()的时候报java.lang.NoClassDefFoundError异常 说明你引用的类中 有相关元素的类没有被添加到工程里面来,
    比如你的需要Class.forName()的类中 引用了 log4j但是你的工程里面有这个jar文件或版本不匹配的话就会报这个错误。
      

  5.   

    放在jar包中来先要加载 用 java.net.URLClassLoader来加载吧 
      

  6.   

    我刚才又加了几个 jar包,不报这个异常了,却出现了新的异常java.lang.ClassCastException
      

  7.   

    应该就是包没加 我也遇到过 用到那个JMail的时候,在程序里面也可以new 但是运行就是
    找不到类,添加两个包就可以了
      

  8.   

    java.lang.ClassCastException 类型转换异常,你看看你有什么做类型转换
      

  9.   

    你导入的jar包有问题吧,仔细检查一下
      

  10.   

    Class.forName()中用的是字符串做参数
    所以在编译是不会提示错误,但在运行时,找不到参数类所在的位置,就会报错,只要把jar包放到classpath里面就行了.
      

  11.   

    java.lang.NoClassDefFoundError 
    找不到类,把JAR包导入到配置路径中.
    java.lang.ClassCastException 类型转换异常.
    在程度中设置一个断点,慢慢找找吧.
      

  12.   

    public class ClassCastException
    当试图将对象强制转换为不是实例的子类时,抛出该异常。例如,以下代码将生成一个 ClassCastException: 
         Object x = new Integer(0);
         System.out.println((String)x);public class NoClassDefFoundError
    当 Java 虚拟机或 ClassLoader 实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用 new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。 
    当前执行的类被编译时,所搜索的类定义存在,但无法再找到该定义。