NoClassDefFoundError 和 ClassNotFoundException异常

简介: NoClassDefFoundError 和 ClassNotFoundException异常

1.简介

ClassNotFoundException和NoClassDefFoundError是当JVM无法找到classpath请求的类发生。

2.ClassNotFoundException

ClassNotFoundException是一个已检查的异常,当应用程序尝试通过其全限定名称加载类并且在类路径上找不到时所发生的的异常。

主要发生在尝试使用 Class.forName()、ClassLoader.loadClass()、ClassLoader.findSystemClass() 加载类时。

例如:加载一个本不存在的类

Class.forName("acb.s.sad")

3.NoClassDefFoundError

当发生NoClassDefFoundError ( java  fhadmin.cn),系统不能正常运行,且不能恢复。当JVM尝试以下操作:

使用new实例化一个类

使用方法调用加载类

当编译器可以成功编译类,但java运行时找不到类文件时,就会发生改错误。它通常发生在执行静态块或初始化类的静态字段时出现异常,因此类初始化失败

4.解决方案

主要原因是运行时类文件(类路径中)不可用。解决方法:

保证类路径中是否可以使用包含该类的类或jar。如果没有,需要手动添加它。

如果在类路径上可用,那么有可能是路径被覆盖了。这个时候需要找到类的确切路径。

5.总结

ClassNotFoundException和NoClassDefFoundError都是因为java运行时找不到类相关。

ClassNotFoundException是java运行时加载类时抛出的异常(Exception),并且名称是在运行时提供。

NoClassDefFoundError是该类在编译时存在,但java运行时没法在路径上找到。

目录
相关文章
|
Kubernetes Cloud Native 安全
一文彻底搞懂 Container
设想一下,在我们的日常项目开发过程中,存在一个应用服务,其使用一些基础库函数并具有某些依赖项。如果我们在不支持这些依赖项的环境平台上运行此应用程序,那么,我们可能会遇到意外错误。随着 DevOps 及云原生理念的注入,我们希望我们所开发的应用程序能够可以跨多个操作系统及平台正常运行。
1951 0
|
小程序
uni-app语音转文字功能demo(小程序同声翻译开箱即用)
uni-app语音转文字功能demo(小程序同声翻译开箱即用)
2041 0
uni-app语音转文字功能demo(小程序同声翻译开箱即用)
|
11月前
|
JavaScript 前端开发 测试技术
如何确保 Babel 插件的兼容性?
如何确保 Babel 插件的兼容性?
288 60
|
9月前
|
机器学习/深度学习 算法 前端开发
图解前向、反向传播算法,一看就懂!
前向传播是神经网络中信息从输入层经过隐藏层传递到输出层的过程。每个神经元接收前一层的输出,通过加权求和和激活函数处理后传递给下一层,最终生成预测结果。此过程涉及输入信号、加权求和、激活函数应用等步骤。前向传播用于生成预测结果,在训练阶段与真实标签比较以计算损失函数,并在推理阶段直接生成预测值。反向传播则利用链式法则计算损失函数相对于权重的梯度,调整参数以减小误差,从而优化模型性能。两者结合实现神经网络的有效训练和预测。
微信小程序实现上传视频 / 上传图片功能以及整合上传视频 / 上传图片功能(超详细)
微信小程序实现上传视频 / 上传图片功能以及整合上传视频 / 上传图片功能(超详细)
|
前端开发 Java Maven
SpringMVC之初识SpringMVC和项目创建
【1月更文挑战第18天】 一、SpringMVC简介 1、什么是MVC 2、什么是SpringMVC 3、SpringMVC的特点 二、SpringMVC项目创建步骤 1、创建maven工程 a>添加web模块 b>打包方式:war c>引入依赖 2、配置web.xml a>默认配置方式 b>扩展配置方式 3、创建请求控制器 4、创建springMVC的配置文件 5、测试HelloWorld a>实现对首页的访问 b>通过超链接跳转到指定页面
224 0
|
Java
SpringBoot中是如何打印banner的呢?
SpringBoot中是如何打印banner的呢?
220 0
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL连接ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be loaded
MySQL连接ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be loaded
1387 0
|
Java C++ Python
leetcode-59:螺旋矩阵 II
leetcode-59:螺旋矩阵 II
78 0
|
XML Java Maven
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!
一个封装好的dialog工具类,减少重复的代码,简洁又方便使用!