码迷,mamicode.com
首页 > 移动开发 > 详细

java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext

时间:2018-07-11 21:24:00      阅读:1125      评论:0      收藏:0      [点我收藏+]

标签:jar   根据   模块   cat   简单   java   otf   ica   就是   

一、NoClassDefFoundError与ClassNotFoundException
  NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出NoClassDefFoundError错误。

  ClassNotFoundException这个错误发生只在运行时需要加载对应的类不成功,而不是编译时发生。

 

  NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误,而ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误。

  简单总结就是,NoClassDefFoundError发生在编译时对应的类可用,而运行时在Java的classpath路径中,对应的类不可用导致的错误

 

二、NoClassDefFoundError出现的原因  

   对应的Class在java的classpath中不存在

 我遇到的情况是这样的:

 同一个项目中有多个模块,每个模块对应自己的pom,其中base模块导入了 spring-web的坐标,另一个spin没有导入

但是在编译的时候,spin可以找到WebApplicationContext,但是运行时就报错。

 

三、NoClassDefFoundError解决方法

  导入相应类(WebApplicationContext)的jar或maven坐标

 

 

java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext

标签:jar   根据   模块   cat   简单   java   otf   ica   就是   

原文地址:https://www.cnblogs.com/756623607-zhang/p/9296575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!