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、それは別のクラスローダ レルムに属しているため、JVM からはパラメータ タイプIManagementInterfaceとは完全に異なるタイプとして認識されます。IManagementInterfaceTestBean.setResolver。したがって、あるものを別のものにキャストすることはできません。

これが根本的な原因であるかどうかを確認する方法については、私のこの以前の回答を参照してください。

于 2012-04-23T09:47:15.510 に答える