4

我下载了 dagger,因为它似乎是 Android 中依赖注入的一个不错的选择。但是我在集成编译器时遇到了一些麻烦。是否有关于正确设置的提示?我遵循了有关 android 注释的说明,因为这个项目似乎很相似。但它对匕首不起作用。

我做了什么:我将 dagger-1.1.0.jar 和 javax.inject-1.jar 添加到项目的 lib 文件夹中,并添加了一个名为“compile-libs”的新文件夹,其中包含“dagger-compiler-1.1.0.jar " 因为我不想将此文件打包在 *.apk 中。

项目文件结构

我将 dagger 和 javax.inject 添加到模块的依赖项中。

现在棘手的部分:我将编译器添加到注释编译器设置中:

设置

当我运行程序时,出现以下错误:无法加载类 de.myproject.app.modules.AndroidModule 的模块适配器。请确保已为此模块运行代码生成。

所以在我看来,代码生成并没有发生。此外,我项目中的“生成”文件夹是空的。那么在 IntelliJ 的 Android 项目中让 dagger 工作的正确设置是什么?

4

1 回答 1

5

找不到匕首编译器依赖项。

Dagger、JavaWriter和 javax.inject 也是必需的。
(对于 1.2+ Guava 也需要 -番石榴讨论

尝试将这些 .jars 放在与 dagger-compiler 相同的文件夹中,然后将所有 4 个也添加为注释处理器。这适用于 Eclipse,也适用于 IntelliJ。

或者,将所有这些依赖项一起制作 1 个“胖”罐子。有关详细信息,请参阅问题 360

文件可以从 Maven 下载:

于 2013-11-23T12:01:58.767 回答