你以为出现NoClassDefFoundError错误会是什么原因?

你以为出现NoClassDefFoundError错误会是什么原因?

  • 1、概述
  • 2、事情经过
  • 3、总结

1、概述

大家好,我是欧阳方超,可以关注我的公众号“欧阳方超”,后续内容将在公众号首发。
同样的错误,非一样的解决方式。NoClassDefFoundError错误意味着在运行时不能找到合适的类。而一般的原因是依赖未引入或引入错误、依赖版本不一致。而我今天遇到的这个现象最后排查的原因有点让我意外,且往下看到底发生了啥。

2、事情经过

我遇到问题时看到的日志:
在这里插入图片描述出现这类现象一般都是依赖未引入或引入错误、依赖版本不一致导致的,而相应的办法就是检查项目的依赖配置,确保所有需要的 JAR 包都已正确引入;确保依赖的版本与当前项目兼容。而我感觉我就不应该从这两点着手去检查,因为近四天我都没有进行任何更新代码的操作,而线上昨天甚至上午还在正常运行。我就去看jar包,诡异的是jar包不再了,已经被重命名了,此时我才突然想起来,我要对某个文件重命名以便进行备份,但是选错文件了,结果把jar包重命名了,当时想着要纠正回来呢,结果被其他事情打断了,然后就忘记这茬事了,结果当过了一会再次访问系统时,接口一直报错,看后台才发现上面的日志,jar包都被重命名了(后缀被改了,这是我备份的惯用操作),肯定无法从里面加载class文件了。
好,知道原因了,把jar包重新启起来就好了。

3、总结

罪过啊,我再次想到了我之前的想法——当你在进行一个原子操作的时候,请专心完成它再做其他事情。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/291469.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023 英特尔On技术创新大会直播 |AI小模型更有性价比

前言: 今年是引爆AI的一年,从幼儿园的小朋友到80岁的老奶奶都认识AI,享受AI带来的便捷,都在向市场要智能,但AI的快速发展离不开底层硬件设施的革新。 英特尔是全球知名的半导体公司,专注于计算机处理器和芯…

理论篇:什么是NPM以及为什么NPM如此重要

📌 NPM,全称是 Node Package Manager,NodeJS 包管理工具 当我们开始现代化前端项目开发时,总是会被告知需要提前安装NodeJS,而且NodeJS软件包不仅仅会在我们的开发设备上安装NodeJS运行环境,同时会附带NPM工…

Java修饰符排列规范,一个不常使用但有必要注意的小细节

你好呀,我是仨仨! 今天在整理项目的时候,注意到这样一个变量: SonarLint 提示需要用 static 修饰,于是我顺手就在 final 后加了一个static,然而等 SonarLint 再次检查后,又出现了新的提示&…

Mybatis-Plus——03,CRUD改

CRUD改 一、CRUD——改update————————如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~ 一、CRUD——改update Test//测试更新public void updateTest(){User user new User();user.setId(3L);//怎么改…

c语言错误总结

函数 A:void类型函数可以 B:不需要,如果return 不返回任何值,函数会在return语句执行后终止执行,后面的语句不会执行 C:对的 D:不可能,return只能返回一个数据 A:函数不一定有返回值 B:可以…

windows11下载GCC编译器

下载 1. 打开MinGW官网 2. 点击下载, 进入后选择下载在Window系统 3. 选择在github上面下载, 进入后下载下面两个即可, 一个是编译器, 一个是源码. 考虑跨平台性, 下载posix版本, 只在Windows下开发应用就下载win32, 不知道就下载前者. win11选择ucrt, 之前版本选择msvcrt. 配…

要使自己用C++制作的游戏可以多人在不同电脑上对战要学什么?

要使自己用C制作的游戏可以多人在不同电脑上对战要学什么? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C的资料从专业入门到高级教程工具包」,点个关注,全部无偿共享…

[MySQL]用基本的mysql语句写的{商店的数据}和{学生成绩}

文章目录 前言一、题目二、创建2.写入table 三.查看表单结构四.插入数据1.俩种方法2.指定插入 五.查询1.全部和指定查询2.别名查询3.去重4.排序5.条件查询(where) 六.修改七.删除八.在table中插入一列总结: 前言 提示:以下是本篇文章正文内容…

堆的时间复杂度

1、堆排序的时间复杂度为O(nlogn) 2、对N个元素建堆的时间复杂度为O(N),删除堆顶元素的时间复杂度为O(logN),因此删除堆所有元素的时间复杂度为O(NlogN)。 3、不管数组初始时是有序的还是逆序的,堆排序都会先建堆,变成了堆序的性…

消息中间件的介绍

消息中间件(message oriented middleware)是指支持与保障分布式应用程序之间同步/异步收发消息的中间件。消息是分布式应用之间进行数据交换的基本信息单位,分布式应用程序 之间的通信接口由消息中间件提供。其中,异步方式指消息发…

Vue.js 中使用 Element UI 实现异步加载分页列表

Vue.js 中使用 Element UI 实现异步加载分页列表 在前端开发中,我们常常需要展示大量数据,并提供分页浏览的功能。本篇博客将介绍如何使用 Vue.js 和 Element UI 组件库创建一个简单的异步加载分页列表。 技术栈 Vue.jsElement UIJavaScript 组件结构…

Navicat里放大、缩小字体的快捷方法

我是偶然误触键盘把字体缩小了,研究以后发现的这个快捷键,分享给大家。 方法:按住【CtrlShift】组合键,再拖动鼠标滚轮,就可以缩放字体了。 缩小效果: 放大效果: