我在我的项目中使用 Spring 和 GWt。在少数情况下,当我调用 spring bean 代理的方法时,CGLIB 会抛出 NoSuchMethodError
。
如果我查看错误,它会告诉我它试图找到一个方法,该方法使用 Integer
对象而不是基本的 int
字段。
例如,我有一个在我的 spring bean 中定义的方法
public void saveObject(int value)
{
// some stuff
}
当我调用这个方法时,会抛出一个错误:NoSuchMethodError
,这表明它试图找到带有字段java.lang.Integer
的方法saveObject
> 而不是基本的 int
字段(使用 I 键)
有什么问题吗?有装箱/拆箱问题吗?我明确指出,我使用基本 int 而不是 Integer 调用此方法。
最佳答案
你在使用 cglib-nodep 吗?这在过去对我有用。还要检查您正在使用的 cglib 版本并尝试使用最新版本。
关于java - 装箱拆箱、cglib、spring 和 NoSuchMethodError 之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427838/