我如何知道Dagger的代码生成是否正常?我看到几个线程,用户最终发现正在使用反射。
我在Eclipse中运行了示例咖啡机应用程序,当我在例如设置断点时Thermosiphon我在堆栈中看不到任何生成的类。我确实看到了ReflectiveAtInjectBinding,这让我怀疑我的设置不正确。
答案 0 :(得分:3)
因此,有几个方面。
Dagger最近删除了(或即将远程)模块的反射回退 - 所以你应该在下一个版本中不必拥有反射模块适配器。如果未生成模块适配器,则会出现阻止进一步操作的特定错误。
对于代码生成验证,可能值得创建一个小的验证脚本,确认包含@Module的任何源都生成了$$ ModuleAdapter类。假设您在Maven中运行,那么这可以附加到项目中的验证步骤。
如果您在eclipse中运行,那么您需要使用m2e插件,并且需要在maven设置中启用以允许maven在eclipse中配置注释处理设置。
一个警告。如果您有m2e管理注释处理配置,并且如果您将dagger本身作为eclipse项目打开,那么您必须在项目的maven设置中禁用“从Workspace项目中解析依赖项”