zoukankan      html  css  js  c++  java
  • java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext

    一、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坐标

     

  • 相关阅读:
    设计模式(一)基础面向对象
    面试题之三门问题
    「巫师3(The Witcher 3:Wild Hunt)」游戏测评
    欧拉角和四元数
    struts标签遍历各种list Map
    浅谈HtmlCleaner+XPath解析html或者xml
    hadoop简单例子
    解决JSP参数传递乱码的问题
    Set、List、Map的区别(浅谈)
    做个犀利的码农
  • 原文地址:https://www.cnblogs.com/756623607-zhang/p/9296575.html
Copyright © 2011-2022 走看看