1

短剣から次のエラーが表示されます。

[ERROR] error on execute: java.lang.IllegalArgumentException: Unexpected key: ca.nanometrics.apollo.instrument.configuration.ResourceOwnerController<>

これは、注入可能な依存関係のないクラスがあるために発生すると考えています。クラスには空のパブリックコンストラクター (@Inject を使用) があり、メンバーにも注入するものはありません。@Provides を宣言する必要がないようにこれを行いました。@Inject を持つクラスは、上記のエラー メッセージにリストされているクラスのサブクラスであることに注意してください。

public class ResourceOwnerControllerHelios extends ResourceOwnerController<ResourceOwnerFactoryHelios>
{

  @Inject
  public ResourceOwnerControllerHelios()
  {
    // do nothing
  }

これは短剣のバグですか、それとも何か不足していますか?

@Inject を削除しても @Provides をモジュールに追加しない場合、ダガーはすべての依存関係で @Inject または @Provides を必要とするため、もちろんまったく機能しません。

4

1 に答える 1