我下载了 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 的模块适配器。请确保为此模块运行代码生成。
所以在我看来代码生成并没有发生。另外,我的项目中的“生成”文件夹是空的。那么让 dagger 在 IntelliJ 的 Android 项目中工作的正确设置是什么?
未找到 dagger-compiler 依赖项。
Dagger, Java编写器 https://github.com/square/javawriter还需要 javax.inject。
(对于 1.2+ 番石榴还需要 -番石榴讨论 https://github.com/square/dagger/issues/411)
尝试将这些 .jar 放在与 dagger-compiler 相同的文件夹中,然后添加all 4也作为注释处理器。这适用于 Eclipse,也适用于 IntelliJ。
或者制作 1 个“胖”jar,将所有这些依赖项放在一起。看第360期 https://github.com/square/dagger/pull/360了解详情。
可以从 Maven 下载文件:
- Dagger http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.squareup.dagger%22%20a%3A%22dagger%22
- Java编写器 http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.squareup%22%20a%3A%22javawriter%22
- javax.inject http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22javax.inject%22%20a%3A%22javax.inject%22
- Guava http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.guava%22%20AND%20a%3A%22guava%22
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)