1

我有这样的春豆:

 <bean id="testBean" class="TestBean"
  ......
  <property name="resolver" ref="resolver"....

class Resolver extends BaseResolver implements IManagementInterface

在类 TestBean 设置器中:

 public void setResolver (IManagementInterface resolver) {
 this.resolver=resolver;
 ...

但是当我运行时,我收到异常:

无法将 Resolver 类型的值转换为所需的 IManagementInterface 类型。

但这似乎不正确——因为Resolver也是 type IManagementInterface。这个错误有什么意义?或者我应该清理安装我所有的项目?

4

1 回答 1

2

首先进行全新安装。如果这没有使问题消失,您可能遇到了类加载器问题。如果您的Resolver实例(和相应的类声明)由不同的类加载器加载TestBean,则它属于不同的类加载器领域,IManagementInterface因此 JVM 将它(或特别是它的超级接口)视为与IManagementInterface参数类型完全不同的类型的TestBean.setResolver。所以一个人不能投给另一个人。

请参阅我的这个较早的答案,以验证这是否是根本原因。

于 2012-04-23T09:47:15.510 回答