成功解决Failed to execute ognl, exception message: ognl.OgnlException,Arthas怎么实时查看一个静态变量的值

在使用Arthas进行Java开发时,遇到使用ognl命令查看静态变量值失败的问题,错误信息为ognl.OgnlException。原因可能在于自定义类加载器导致类找不到。正确做法是首先使用sc -d命令查找类加载器,然后在指定类加载器下执行ognl命令。如果仍然报错,是因为类未被加载到JVM。解决办法是触发相关业务操作,使类加载到JVM,再执行getstatic命令即可查看静态变量。
摘要由CSDN通过智能技术生成

在使用arthas定位问题的时候,如果我们想使用ognl命令查看一个静态变量的值,我们可能会使用这样的ognl命令:

ognl -x 3 '@com.fdw.study.MasterDataRelation@TYPE_DEPOSITARY'

但是这样使用可能会遇到如下报错,Failed to execute ognl, exception message: ognl.OgnlException: Could not get static...

这是为什么呢?

原来使用这个命令是有前提的,前提是使用的是默认的类加载器,当你使用了自定义的类加载器后,自定义类加载器会导致找不到类 

所以正确的方式应该是先使用sc -d命令找到该类的类加载器,然后再指定类加载器的前提下去使用ognl命令,如下:

 sc -d com.fdw.study.MasterDataRelation

但当我们执行了这个命令也常常找不到这个类,会报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThatMonth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值