嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2016-01-16 2113 次浏览 标签 : Java

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

注意 NoClassDefFoundError 和 ClassNotFoundException 的区别

ClassNotFoundException是在编译时错误。编译时候在classpath中找不到对应的类而发生的错误。

NoClassDefFoundError是运行时错误。在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。所以当你看到Caused by: java.lang.NoClassDefFoundError的时候,而该类却又是存在的。

最普遍的情况也应该是和下面这种情况一样,就是该类的静态初代码块初始化的时候出现了异常

static {
    try {

    	//...

    } catch (Exception e) {
        logger.error("Failure during static initialization",e);
        throw new ExceptionInInitializerError(e);
    }
}

我实际的情况也是如此

Caused by: java.lang.NoClassDefFoundError: Could not initialize class xxx

参考:http://stackoverflow.com/questions/7325579/java-lang-noclassdeffounderror-could-not-initialize-class-xxx


嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表