Java问题笔记:NoClassDefFoundError

Java问题笔记:NoClassDefFoundError

问题现象

  直接报NoClassDefFoundError

解决思路

  首先我们先了解一下这个异常:

  NoClassDefFoundError表明当前执行的类已经编译,但是找不到它的定义时。也就是说你如果编译了一个类B,在类A中调用,编译完成以后,你又删除掉B,运行A的时候那么就会出现这个错误。

  抛开人为删除的可能性,这个一般是重复类导致的,如果你确定你的类不重复,那就是你的类依赖的类有问题,你可以在Debug时查找当前类或依赖类的是来自那个jar,看加载的是不是来自错误的Jar.

Thread.currentThread().getContextClassLoader().getResource("org/apache/http/impl/client/HttpClientBuilder.class")

  特别需要注意的是,getResource("类的全路径,注意class结尾")

  执行完成之后,关注file字段显示的jar路径是否是正确的,如果不正确,就删掉他或者相办法替换他

  

猜你喜欢

转载自www.cnblogs.com/MrSaver/p/12385965.html
今日推荐