Java / IntelliJ无法识别" Dagger" Dagger2 Components

时间:2016-05-07 05:05:04

标签: java intellij-idea dagger-2

我可能在这里遗漏了一些非常基本的东西,所以希望这不是一个难题。

我相当于

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?
}

&#34; ModuleClassName&#34;是使用@Module注释的模块的名称,包括@Provides方法。

要获得我在Gradle中使用它的库:

compile 'com.google.dagger:dagger:2.4'
compile 'com.google.dagger:dagger-compiler:2.4'

这就是我需要的吗?对于任何注释,我都不会收到任何错误,只有它无法识别的Dagger关键字。我错过了什么?

任何帮助或方向表示赞赏。我没有找到像我这样的初学者那么好的文档。

1 个答案:

答案 0 :(得分:3)

您的注释处理可能未启用。

Settings - &gt; Compiler - &gt; Annotation Processor - &gt; Enable annotation processing

之后,Rebuild Project

如果它仍然认为文件不存在(尽管应用程序正常运行),您必须将生成的源文件夹添加为源文件夹:File - &gt; Project Structure - &gt; Modules - &gt;选择你的项目 - &gt; Sources - &gt;右键单击生成的文件夹,其中包含Dagger内容 - &gt; Sources

compile 'com.google.dagger:dagger-compiler:2.4'应为apt范围或annotationProcessor范围。如果您使用Kotlin,那么kapt范围

相关问题