我下载了Coffee 示例应用程序并将其带入我的 IDE。运行后mvn clean
,我的 IDE 报告编译错误为:
在我运行之前它不会得到修复mvn compile
。显然,示例代码是指由该工具生成的某个类。
我对这种设计感到非常惊讶,因为在你编译项目之前,你不会有一个准备好编译的项目(看起来),有点像你必须吃自己的鸡蛋才能出生。
问:这是dagger2的正常使用场景吗?还是我错过了什么?
我下载了Coffee 示例应用程序并将其带入我的 IDE。运行后mvn clean
,我的 IDE 报告编译错误为:
在我运行之前它不会得到修复mvn compile
。显然,示例代码是指由该工具生成的某个类。
我对这种设计感到非常惊讶,因为在你编译项目之前,你不会有一个准备好编译的项目(看起来),有点像你必须吃自己的鸡蛋才能出生。
问:这是dagger2的正常使用场景吗?还是我错过了什么?
是的。Dagger 使用Java Annotation Processing Tool,它与编译过程挂钩。在注解处理过程DaggerCoffeeApp_Coffee
中生成类,然后将原始和生成的源代码作为一个整体进行编译。
不用说,在编译之前这个类还不存在。这就是为什么您的 IDE 找不到它并将其标记为错误的原因。运行后mvn compile
可以找到类。