2

我如何知道 Dagger 的代码生成是否正常工作?我看到几个线程,用户最终发现正在使用反射。

我已经在 Eclipse 中运行了示例咖啡机应用程序,当我在例如 Thermosiphon 中设置断点时,我在堆栈中看不到任何生成的类。我确实看到了 ReflectiveAtInjectBinding,这让我怀疑我的设置不正确。

4

1 回答 1

4

所以这有几个方面。

  1. Dagger 最近删除了(或即将远程)模块的反射回退 - 因此,在下一个版本中,您应该不必拥有反射模块适配器。如果未生成模块适配器,则会出现阻止进一步操作的特定错误。

  2. 至于代码生成验证,可能值得创建一个小的验证脚本来确认包含 @Module 的任何源都生成了 $$ModuleAdapter 类。假设您在 Maven 中运行,那么这可以附加到项目中的验证步骤。

  3. 如果你在eclipse中运行,那么你需要有m2e插件,并且你需要在你的maven设置中启用,以允许maven在eclipse中配置注解处理设置。

一个警告。如果您有 m2e 管理注释处理配置,并且如果您将 dagger 本身作为 eclipse 项目打开,那么您必须在项目的 maven 设置中禁用“解决来自工作区项目的依赖项”

于 2013-06-24T16:10:48.217 回答