`
chembo
  • 浏览: 937366 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

classNotFoundException与noclassdeffoundError

阅读更多
  1. 如名字所言,一个exception, 一个error, 而error是不建议捕捉的;
  2. classNotFound主要发生在Class.forName, ClassLoader.loadClass, Classloader.findSystemClass时动态加载类到内存中时,如果没有找到该类就会抛;还有一个原因是该类已经加载到内存中去了,此时另一个类加载器又尝试动态从同一个包中加载这个类;
  3. noClassDefFoundError主要由jvm抛出,大部分发生在new的时候却没有找到该类的定义。这个类在编译的时候有存在的,运行时却找不到。
  4. classNotFoundException发生在装入阶段;noClassDefFoundError发在生编译后使用阶段;
    加载时从外存储器找不到需要的class就出现ClassNotFoundException 
    连接时从内存找不到需要的class就出现NoClassDefFoundError
  5. classNotFoundException解决方法就是确定该类连同它依赖的包在类路径中;
  6. noClassDefoundError解决方法:确定依赖的包在运行时在正确的classPath中,通过System.getproperty("java.classpath")方法拿到实际存在的运行期classPath,如果不正确,可以通过-classpath命令明确指出正确的classPath。
分享到:
评论

相关推荐

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource解决方案

    这将创建一个连接池,用于与指定的MySQL数据库建立连接。记得在不再需要连接池时调用`dataSource.close()`来释放资源。 总之,要解决`java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource`...

    java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport

    java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport异常处理

    出现Exception in threadmain java.lang.NoClassDefFoundError的各种可能情况.doc

    如果文件名与类名不符,编译器可能能够成功编译,但运行时会因为找不到正确的类定义而抛出`NoClassDefFoundError`。 ### 解决方法: 确保源文件名与公共类名完全一致,检查文件名的拼写和大小写是否正确。 ### 2. ...

    ClassLoader类加载机制

    类加载器是 Java 语言的一个创新,也是 ...不过如果遇到了需要与类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就很容易花大量的时间去调试 ClassNotFoundException和 NoClassDefFoundError等异常。

    java类加载器实例

    类加载器是 Java 语言的一个创新,也是 ...不过如果遇到了需要与类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就很容易花大量的时间去调试 ClassNotFoundException和 NoClassDefFoundError等异常。

    flink依赖jar包——解决NoClassDefFoundError: com/sun/jersey

    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:...

    解决Handler processing failed; nested exception is java.lang.NoClassDefFoundError_kmode exception

    `NoClassDefFoundError` 是Java运行时异常的一种,与`ClassNotFoundException`不同,它意味着类在编译时存在,但在运行时却无法找到。这个问题可能由于多种原因引起,如依赖缺失、类路径设置不正确或者类加载器问题...

    java.lang.NoClassDefFoundError错误解决办法

    与ClassNotFoundException的区别 NoClassDefFoundError和ClassNotFoundException都是Java中的类加载错误,但是它们之间有着明显的区别。ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的...

    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport 问题-附件资源

    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport 问题-附件资源

    Exception in thread main java.lang.NoClassDefFoundError错误解决方法

    这个错误很容易让人误解为是`ClassNotFoundException`,但实际上它们之间有区别:`ClassNotFoundException`是在类加载器尝试加载特定类但找不到对应的.class文件时抛出的,而`NoClassDefFoundError`则是在类已经被...

    avro-1.8.1

    运行Sqoop报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/avro/LogicalType,下载此资源放到Sqoop的lib目录下即可

    Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常

    当你看到 `NoClassDefFoundError` 而不是直接的 `ClassNotFoundException` 时,通常意味着类在编译时是可用的,但在运行时无法找到。这可能是因为在编译时使用的类库没有在运行环境中正确配置。 在本例中,问题出在...

    istack包处理少包问题

    在Java编程环境中,我们经常会遇到`ClassNotFoundException`,这是一个运行时异常,表示JVM在尝试加载类时找不到指定的类。在本案例中,错误信息显示为"ClassNotFoundException: ...

    resolver_java_wsdl.jar

    Caused by: java.lang.NoClassDefFoundError: com.sun.org.apache.xml.internal.resolver.CatalogManager at com.sun.xml.ws.util.xml.XmlUtil.createEntityResolver(XmlUtil.java:266) at org.jvnet.jax_ws_...

    xwork-2.0.7.jar

    这些异常可能包括但不限于ClassNotFoundException、NoClassDefFoundError等,这些问题通常与类加载器的冲突或者类路径设置不当有关。 为确保xwork-2.0.7.jar在Tomcat6.0中的顺利运行,有以下几点建议: 1. **正确...

    sun.io.CharToByteConverter支持类

    项目工程中用到jdk1.6相关方法,可以使用,但是升级到jdk1.8以后,编译出现java.lang.NoClassDefFoundError: sun/io/CharToByteConverter错误,后经查询,是jdk1.8版本中已经从sun.io.*中进行去除。网上找来了相关...

    eclipse调试问题

    根据提供的代码片段,我们主要关注的是与Eclipse IDE相关的Java编程中的异常处理和调试技巧,尤其是`ClassNotFoundException`和`NoClassDefFoundError`这两类常见的运行时错误。 #### ClassNotFoundException详解 ...

    ClassLoader 深入解析

    如果ClassLoader在加载过程中遇到问题,如找不到类或类定义错误,会抛出ClassNotFoundException或NoClassDefFoundError等异常,需要开发者进行适当的异常处理。 总之,理解ClassLoader的工作原理和机制,可以帮助...

    金蝶Apusic应用服务器V6参考b手册b.doc

    如果 Bar.class 只是对 ClassLoaderC 和 D 可见,那么将会发生ClassNotFoundException 或者 NoClassDefFoundError异常。 基本的Classloader 最基本的Classloader是Bootstrap Classloader和System Classloader(也...

Global site tag (gtag.js) - Google Analytics