NoClassDefFoundError 排查思路

简介: 1.问题场景 school-1.1.0.jar中没有Student类。 school-1.1.1.jar中有Student类。虽然在pom中指定了引入的是school-1.1.1.jar,但可能maven打包后只有school-1.1.0.jar而没有school-1.1.1.jar。那么运行时就会报错java.lang.NoClassDefFoundError。 2.命令 #

1.问题场景

school-1.1.0.jar中没有Student类。
school-1.1.1.jar中有Student类。

虽然在pom中指定了引入的是school-1.1.1.jar,但可能maven打包后只有school-1.1.0.jar而没有school-1.1.1.jar。那么运行时就会报错java.lang.NoClassDefFoundError

2.命令

#执行此命令,可以看指定目录下哪些jar包中有哪些类,含有指定关键字。
for i in xxx/lib/*.jar; do jar -tvf $i | grep 'MessageOrBuilder' && echo $i ; done

执行效果见图2-1.


图2-1 查看哪个jar包中有哪些文件

2.1 jar

存在于jdk的bin/目录下,用于查看jar包中的内容。

jar -tvf file 
查看指定jar中有哪些文件,也即哪些类,显示示例见下行:

1265 Thu Jan 13 23:06:38 CST 2011 org/apache/commons/lang/time/FastDateFormat$UnpaddedMonthField.class

3.经验

如果lib/目录下只有低版本的包,没有高版本的包,可以尝试把高版本的<dependency>配置放在最前面。

目录
相关文章
|
Java 关系型数据库 MySQL
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
355 0
|
5月前
|
SQL 人工智能 数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
294 0
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
|
11月前
|
Web App开发 人工智能 JSON
魔搭社区创空间全新支持 Gradio 5
ModelScope 创空间已全新支持 Gradio 5 🎉🎉
|
Python
Python 项目及依赖管理工具技术选型
【8月更文挑战第30天】在进行Python项目及依赖管理时,有多种工具可供选择。虚拟环境工具有`virtualenv`和内置的`venv`,可为项目创建独立环境,避免依赖冲突。依赖管理工具有`pip`、`pipenv`和`poetry`,分别用于安装包、管理依赖并确保版本一致性。选型时需考虑项目需求、团队协作、易用性和社区支持等因素。
289 10
|
安全 Java
Java 中同步 ArrayList 的详细指南
【8月更文挑战第23天】
250 1
|
移动开发 前端开发 JavaScript
鸿蒙-webview的使用和JS交互(附源码)
日常我们在开发项目时,为了项目快速的开发和迭代,难免会用到H5页面。使用鸿蒙进行项目开发时,也一样免不了要加载H5页面,在移动开发中打开H5页面需要使用WebView组件。同时,为了和H5页面进行数据交换,有时候还需要借助JSBridge来实现客户端与H5之间的通讯。 那么鸿蒙之中用到的技术是什么呢?WebView 在此之前,先看一个报错 ​ App Launch: The Huawei Lite Simulator supports only Lite projects.
837 0
鸿蒙-webview的使用和JS交互(附源码)
|
开发框架 .NET C#
C#/.NET/.NET Core优秀项目和框架精选(坑已挖,欢迎大家踊跃提交PR或者Issues中留言)
C#/.NET/.NET Core优秀项目和框架精选(坑已挖,欢迎大家踊跃提交PR或者Issues中留言)
365 1
|
Java 消息中间件 Spring
浅析RabbitMQ死信队列
浅析RabbitMQ死信队列
300 0
|
定位技术 Python
Anaconda环境配置Python绘图库Matplotlib的方法
Anaconda环境配置Python绘图库Matplotlib的方法
383 1