Java 使用两个组件Dagger2时堆栈溢出
Dagger有两个组件:Java 使用两个组件Dagger2时堆栈溢出,java,android,stack-overflow,dagger-2,Java,Android,Stack Overflow,Dagger 2,Dagger有两个组件: @GithubListActivityScope @Component(modules = { GithubListActivityModule.class, GlideActivityModule.class }) public interface GithubListActivityComponent { GithubUserListAdapter githubUserListAdapter ( ); //RequestManager requestManager
@GithubListActivityScope
@Component(modules = { GithubListActivityModule.class, GlideActivityModule.class })
public interface GithubListActivityComponent {
GithubUserListAdapter githubUserListAdapter ( );
//RequestManager requestManager();
LinearLayoutManager linearLayoutManager();
}
注意:我尝试过注释和取消注释RequestManager RequestManager()代码>在GitubListActivityComponent中
我还有另一个类似的组件:
@Component(modules = { GithubApiServiceModule.class, GlideModule.class })
public interface GithubAppListComponent {
RequestManager getGlideRequestManager ( );
GithubAPIService getGitHubApiService ( );
}
问题:->当我删除gitublistactivitycomponent的类文件时或删除/注释@Component注释时应用程序运行正常,但当我尝试在不删除或注释@Component注释的情况下构建文件时,我得到以下结果错误:
错误:(7,66)错误:找不到符号类
DaggerGithubApplication组件
错误:任务的执行失败
“:app:compileDebugJavaWithJavac”。
java.lang.StackOverflower错误
p.S.Oracle Jdk版本->1.8.0_121删除循环依赖关系(A模块不应包括B模块,如果B模块包括A)
我是如何解决我的问题的:在GithubListActivityModule上依赖于GlideActivityModule的提供者(使用@Provide的方法)我将其移动到GlideActivityModule以删除依赖项。对不起,我的错误。。。。您使用的是什么注释处理器?就我能处理您的问题而言,我没有使用任何自定义的,它必须是默认的Java注释处理器。。。抱歉,我没有回答这个问题。GithubListActivityComponent
和GithubAppListComponent
之间的关系是什么?听起来第一个应该是第二个的子组件。一个是应用程序级组件,另一个是活动级组件。也许你有一个循环依赖关系?