使用两个组件Dagger2时的stackoverflow

时间:2017-02-11 14:51:27

标签: java android stack-overflow dagger-2

我有两个Dagger组件:

@GithubListActivityScope
@Component(modules = { GithubListActivityModule.class, GlideActivityModule.class })
public interface GithubListActivityComponent {

GithubUserListAdapter githubUserListAdapter ( );
//RequestManager requestManager();
LinearLayoutManager linearLayoutManager();

}

注意:我在RequestManager requestManager();

尝试了评论和取消注释 GithubListActivityComponent

我有另一个这样的组件:

@Component(modules = { GithubApiServiceModule.class, GlideModule.class })
public interface GithubAppListComponent {

RequestManager getGlideRequestManager ( );

GithubAPIService getGitHubApiService ( );
}

问题: - &gt;当我删除 GithubListActivityComponent类文件删除/评论@Component Annotation 时,应用运行正常 BUT < / strong>当我尝试构建而不删除或评论@Component Annotation文件时,我收到以下错误:

  

错误:(7,66)错误:找不到符号类   DaggerGithubAppListComponent

     

错误:任务执行失败   ':应用程序:compileDebugJavaWithJavac'。    java.lang.StackOverflowError的

P.S。 Oracle Jdk版本 - &gt; 1.8.0_121

1 个答案:

答案 0 :(得分:2)

删除循环依赖 A 模块不应包含B 模块如果B 模块包含A

我如何解决我的问题 GithubListActivityModule 上的提供者( @Provide 的方法) >在 GlideActivityModule 上,我将>移动到 GlideActivityModule 中以删除相关性。