我有像春豆一样:
<bean id="testBean" class="TestBean"
......
<property name="resolver" ref="resolver"....
class Resolver extends BaseResolver implements IManagementInterface
:
public void setResolver (IManagementInterface resolver) {
this.resolver=resolver;
...
但是当我跑步时,我收到异常:
无法将Resolver类型的值转换为所需类型IManagementInterface。
但这似乎不正确 - 因为Resolver
也是IManagementInterface
类型。什么感觉这个错误?或者可能是我应该清理安装我的所有项目?
答案 0 :(得分:2)
首先进行全新安装。如果这不会使问题消失,您可能会遇到类加载器问题。如果您的Resolver
实例(以及相应的类声明)由不同于TestBean
的类加载器加载,则它属于不同的类加载器领域,并且它(或者特别是其超级接口IManagementInterface
)因此,JVM将其视为与IManagementInterface
参数类型TestBean.setResolver
完全不同的类型。所以一个人不能被投射到另一个人身上。
请参阅this earlier answer of mine以了解验证这是否是根本原因的方法。