如何在IntelliJ中配置Dagger

4
我下载了Dagger作为Android依赖注入的一个不错的选择。但是,我在集成编译器时遇到了一些问题。有没有关于正确设置的提示? 我按照android annotations的指示进行操作,因为这个项目看起来很相似。 但是对于Dagger却不起作用。
我做了以下几件事情: 1.将dagger-1.1.0.jar和javax.inject-1.jar添加到我的项目的lib文件夹中。 2.添加一个名为"compile-libs"的新文件夹,其中包含"dagger-compiler-1.1.0.jar",因为我不希望此文件被打包在*.apk中。 3.将dagger和javax.inject添加到模块的依赖项中。 现在棘手的部分:我将编译器添加到注释编译器设置中。 当我运行程序时,我会得到以下错误信息:“无法加载类de.myproject.app.modules.AndroidModule的模块适配器。请确保已对该模块运行代码生成。” 所以,对我来说似乎代码生成并没有进行。此外,我的项目中的“generated”文件夹是空的。那么,在IntelliJ的Android项目中,使Dagger正常工作的正确设置是什么呢?

你使用的是哪个版本的IDEA? - Eugen Martynov
12.1.2 社区版 - Martin H.
我记得有类似的问题。尝试将IDEA升级到最新的稳定版或测试版。 - Eugen Martynov
请访问http://www.jetbrains.com/idea/download/。12.1.6是最新版本。 - Eugen Martynov
我已经在我的项目的注解处理器中添加了4个JAR包(dagger,dagger-compiler,javawriter和javax.inject),并且它已经起作用了。 - Yrgl
显示剩余2条评论
1个回答

5

无法找到dagger-compiler的依赖项。

同时需要Dagger、JavaWriter和javax.inject。
(对于1.2+ Guava也是必需的 - guava讨论

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

或者制作一个包含所有这些依赖项的“fat” jar。有关详细信息,请参见issue 360

文件可以从Maven下载:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接