【Java】打印运行环境中某个类引用的jar版本路径

背景

正式环境出现jar版本不匹配问题,不知道正式环境用的哪个jar版本。通过一下可以打印出类调用的jar

java 复制代码
// 获取 POIFSFileSystem 类的加载器并打印其来源路径
ClassLoader classloaderPOIFS = org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL resPOIFS = classloaderPOIFS.getResource("org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
String pathPOIFS = resPOIFS != null ? resPOIFS.getPath() : "Not found";
System.out.println("POIFSFileSystem came from " + pathPOIFS);

// 获取 WorkbookFactory 类的加载器并打印其来源路径
ClassLoader classloaderWorkbook = org.apache.poi.ss.usermodel.WorkbookFactory.class.getClassLoader();
URL resWorkbook = classloaderWorkbook.getResource("org/apache/poi/ss/usermodel/WorkbookFactory.class");
String pathWorkbook = resWorkbook != null ? resWorkbook.getPath() : "Not found";
System.out.println("WorkbookFactory came from " + pathWorkbook);
相关推荐
high201114 小时前
【架构】-- OpenFeign:声明式 HTTP 客户端框架深度解析
java·架构
报错小能手14 小时前
计算机网络自顶向下方法16——应用层 因特网视频 HTTP流和DASH
开发语言·计算机网络·php
用户61204149221314 小时前
基于JSP+Servlet+JDBC学生成绩管理系统
java·前端·javascript
消失的旧时光-194314 小时前
Kotlin 协程实践:深入理解 SupervisorJob、CoroutineScope、Dispatcher 与取消机制
android·开发语言·kotlin
错把套路当深情14 小时前
Kotlin List扩展函数使用指南
开发语言·kotlin·list
草莓熊Lotso14 小时前
《算法闯关指南:优选算法--前缀和》--27.寻找数组的中心下标,28.除自身以外数组的乘积
开发语言·c++·算法·rpc
Jul1en_14 小时前
JVM的内存区域划分、类加载机制与垃圾回收原理
java·jvm
想不明白的过度思考者14 小时前
Rust——Trait 定义与实现:从抽象到实践的深度解析
开发语言·后端·rust
凤年徐14 小时前
Rust async/await 语法糖的展开原理:从表象到本质
开发语言·后端·rust
AnalogElectronic14 小时前
vue3 实现记事本手机版01
开发语言·javascript·ecmascript