我下载了 Coffee sample application并将其带入我的 IDE 中。运行 mvn clean
后,我的 IDE 报告编译错误为:
在我运行mvncompile
之前它不会得到修复。显然,示例代码引用了该工具生成的某个类。
我对这个设计感到非常惊讶,因为在编译项目之前,你不会有一个准备编译的项目(看起来像),有点像你必须吃自己的鸡蛋才能出生。
问:这是dagger2的正常使用场景吗?还是我错过了什么?
最佳答案
是的。 Dagger 利用 Java Annotation Processing Tool ,它会 Hook 编译过程。在注释处理过程中,会生成 DaggerCoffeeApp_Coffee
类,之后将原始源代码和生成的源代码作为一个整体进行编译。
不用说,在编译之前这个类还不存在。这就是您的 IDE 无法找到它并将其标记为错误的原因。运行mvncompile
后,可以找到该类。
关于java - 了解 dagger2 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30360236/