TooManyRegistrationRuntimeExceptionに悩まされて解決・・・凡ミス

TooManyRegistrationRuntimeExceptionに悩まされたログ


TooManyRegistrationRuntimeException、APIを見るとこうある。

同じキーに複数コンポーネントが登録されている場合に、そのキーでgetComponent(*)が呼び出されると生成される実行時例外です

なるほど。まさかそんなことしないぜ、なんて思いながら結構よくある話のようで。

public class A {

    public X x = null;

  ・・・
}

public interface X {
    ・・・
}

public class XA implements X {
    @Override
    ・・・
}

public class XB implements X {
    @Override
    ・・・
}

でもうアウト。コンテナがどっちをインジェクションしていいか分かんないから。
でも今回は凡ミスで、XBを消去する前にmavenでwarファイルを作って、XBを消した後、そのwarファイルをmavenで上書きしてwarファイル作ったら、XBのclassファイルが残ったままに・・・orz。

diconファイルからソースコードから穴の開くほど確認したのにそんな落ち度があったとは。2時間はまったわ。