背景
在開(kāi)發(fā)過(guò)程中箱亿,我們常遇到j(luò)ar包沖突問(wèn)題,或者本地好使的項(xiàng)目贱呐,放到服務(wù)器就不行了丧诺。
這種情況,就可以使用arthas的sc命令來(lái)幫助我們查看某個(gè)類(lèi)奄薇,使用的是哪個(gè)jar包驳阎。
方法
$ sc -d demo.MathGame
class-info demo.MathGame
code-source /private/tmp/arthas-demo.jar
name demo.MathGame
isInterface false
isAnnotation false
isEnum false
isAnonymousClass false
isArray false
isLocalClass false
isMemberClass false
isPrimitive false
isSynthetic false
simple-name MathGame
modifier public
annotation
interfaces
super-class +-java.lang.Object
class-loader +-sun.misc.Launcher$AppClassLoader@3d4eac69
+-sun.misc.Launcher$ExtClassLoader@66350f69
classLoaderHash 3d4eac69
Affect(row-cnt:1) cost in 875 ms
從上面的打印信息中,我們可以很容易看到demo.MathGame
這個(gè)類(lèi)是從/private/tmp/arthas-demo.jar
這個(gè)jar包的馁蒂。