我可能在这里错过了一些非常基本的东西,因此希望这不是一个难题。
我相当于
CoffeeShop coffeeShop = DaggerCoffeeShop.create();
不能被IDE(IntelliJ)识别。这是一个本地Java项目。“ Dagger CoffeShop”部分全为红色。
该组件正在使用以下语法:
@Component(modules = <ModuleClassName>.class)
public interface CoffeeShop {
// some methods.
// does it matter what goes in here for it to recognise the component?
}
“ ModuleClassName”是用@Module注释的模块的名称,并包括@Provides方法。
要获取我在Gradle中使用的库:
compile 'com.google.dagger:dagger:2.4'
compile 'com.google.dagger:dagger-compiler:2.4'
这就是我所需要的吗?我没有任何注释的错误,只是无法识别的Dagger关键字。我想念什么?
任何帮助或指导表示赞赏。我发现文档对像我这样的初学者没有那么大的帮助。
您的注释处理可能未启用。
在Settings
-> Compiler
-> Annotation Processor
->Enable annotation processing
然后, Rebuild Project
如果仍然认为文件不存在(尽管应用程序运行正常),则必须将生成的源文件夹添加为源文件夹:File
-> Project Structure
-> Modules
->选择项目-> Sources
->右键单击生成的文件夹中带有Dagger的东西->Sources
并且compile 'com.google.dagger:dagger-compiler:2.4'
应该是有apt
作用域的或有annotationProcessor
作用域的。如果您使用Kotlin,则kapt
范围
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句