[alibaba/arthas]ognl执行接口类的静态方法报错

2025-11-25 294 views
1

有一个接口D,要执行静态方法echo

package com.art;
public **interface** D {
    public static void echo() {
        System.out.println("ssss");
    }
}
[arthas@17440]$ ognl  -c 14dad5dc '@com.art.D@echo()'
Failed to execute ognl, exception message: ognl.OgnlException: No method accessor for interface com.art.D, please check $HOME/logs/arthas/arthas.log for more details

执行报错了,估计是因为com.art.D是接口的原因。 此问题只存在于3.5.1 3.5.0没有这个问题。

回答

0

这个确定是版本问题? 3.5.1 的修改感觉都不会影响到这个。

1

经过测试,是ognl问题,单独使用ognl:ognl:3.2.21就会有这个问题 只要是interface的static都会有异常 abstract class和普通class的static方法不会有问题

3

arthas里的ognl应该是独立的,你单独打包升级了ognl ?