我从匕首收到以下错误:
[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 添加到模块中,它当然根本不起作用,因为 dagger 在所有依赖项上都需要 @Inject 或 @Provides。