【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);
相关推荐
luj_17682 小时前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法
我命由我123452 小时前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime
不听话坏2 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi073 小时前
require 和 import的区别
开发语言·前端
咖啡八杯3 小时前
GoF设计模式——迭代器模式
java·后端·设计模式·迭代器模式
远离UE43 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬3 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
AIGS0013 小时前
企业AI落地的关键认知:向量空间JBoltAI的本体语义平台
java·人工智能·人工智能ai大模型应用
KaMeidebaby4 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17684 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法