有时在一个应用中,会依赖很多的jar包,难免会出现引用不同jar包中的同名类,或者jar包冲突,这时搞清楚:
- JVM启动时加载了哪些jar包
- 或者一个类来自哪个jar中来就非常重要了。
一、查看JVM加载了哪些jar包
- 启动JVM,通过如下命令获取进程号:
jps -lm
- 1
其中参数:
-l
:输出main所在类的全名,如果执行的是jar包,则输出jar包路径-m
:输出jvm进程启动时传递给main函数的参数jps还有参数
-v
:输出jvm进程启动时JVM参数。 - 使用如下命令:
jinfo + 进程号
- 1
找到打印出的信息中的
java.class.path
属性值,既是jvm进程启动时加载的jar包。
二、查看具体的class从哪个jar保重加载的
在JVM启动时,加上如下参数:
-verbose:class
https://blog.csdn.net/tterminator/article/details/53648773
原文地址:https://www.cnblogs.com/feng9exe/p/12144035.html
时间: 2024-10-10 06:02:22