Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 3556|回复: 0

【问题解决】-《java.lang.NoClassDefFoundException》

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-11 17:36:58 | 显示全部楼层 |阅读模式

      此问题相比与ClassNotFoundException,不容易找到,当然这两者都属于jvm加载类时的错误。导致

    NoClassDefFoundException的原因:编译时不报错,运行时在内存中找不到该类的对象。也正是这个原因,导

    致不好找到,深层次的原因我们得分析jvm加载机制,这个我会在下篇文章中发表个人愚见,这里我们就描述一

    些我们实际开发中,由于我们的哪些疏忽导致此问题出现。看到网上好多出现此类问题,如:静态变量初始化找

    不到指定文件;代码顺序问题,但我这边写了测试类均没有复现,所以此处不做说明,等遇到后再更新文档。

      场景:我们明明下载了三方jar,然后加入到构建路径,然后重新编译后,也不报错。但为何运行的时候,

    就是提示NoClassDefFoundException这个错误。其根本原因就是:引入的jar包没有在当前jar文件的

    manifest文件中的classpath属性中定义!!!

    add by weipt 20190713 还有一种情况就是,当前引入的包,没有在Import_Pachage标签下注册

      这个根据我们实际框架来看,就拿OSGI举例:其MANIFEST.MF文件中Bundle-ClassPath属性,需要我们

    引入三方jar包后,在此文件中添加,有的ide会自动添加。没有的话我们就需要手动添加。

    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: Weipt_TEST
    Bundle-SymbolicName: Weipt_TEST;singleton:=true
    Bundle-Version: 1.0.0.qualifier
    Bundle-ClassPath: .,
     lib/dom4j-1.6.1.jar,
     lib/org.jdom_1.0.0.v200806100616.jar,
     lib/jsch-0.1.55.jar
    Bundle-Activator: com.dcfs.queue.app.Activator
    Junit-Test: com.dcfs.teller.common.test.MainTest
    Bundle-RequiredExecutionEnvironment: JavaSE-1.6
    

      欢迎指正或者补充,您的建议是我们共同进步的阶梯

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-23 05:59 , Processed in 0.072398 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表