2

注入ポイントがあります:

public class Receiver {
  private final Set<Sender> senders;

  @Inject
  public Receiver(@Named("Test") Set<Sender> senders){
     this.senders = senders;
  }
}

さらに、依存関係を提供するこのモジュールがあります。

@Module
public class MyModule {
  @Provides(type = Provides.Type.SET)
  @Singleton
  @Named("Test")
  public Sender provideSender(){
     return new SpecificSender();
  }
}

しかし、dagger 2 APT は適切なクラスを作成できません。APT から次の例外が発生します。

Caused by: java.lang.UnsupportedOperationException
at dagger.internal.codegen.KeyVariableNamer.apply(KeyVariableNamer.java:44)

誰も同じ問題を抱えていますか?良い回避策はありますか?

Named アノテーションをドロップすると、機能します。私はダガー2.0を使用しています

ありがとうございました

4

1 に答える 1