报错
- java.lang.NoClassDefFoundError
- 原因:与 ClassNotFoundException 不同的是,NoClassDefFoundError 是指在 JVM 运行时,在 classpath 中根据类名找不到对应的类时报出的错误。
- 方向:
- 检查代码(读取和调用的)顺序
- 检查静态方法的调用
- 检查静态代码块是否读取失败
- 其他的可能原因:
(1) 检查日志文件中是否有 java.lang.ExceptionInInitializerError,NoClassDefFoundError 可能是由于静态初始化失败导致的(较多人出现的问题),即静态初始化操作中抛出异常,依赖该类的其他类可能会报出 NoClassDefFoundError
(2) 环境中有多个不同的类加载器,也可能导致 NoClassDefFoundError
(3) NoClassDefFoundError 是 java.lang.LinkageError 的子类,程序依赖的原生类库不可用,也可能导致 NoClassDefFoundError
(4) 程度的启动脚本覆盖了原先的 classpath 环境变量
(5) 详见:https://www.cnblogs.com/xyhz0310/p/6803950.html
注意事项
response.addHeader("Access-Control-Allow-Origin", "*"); // 注意!Ajax跨域请求时必须设置!