无法findDagger 2的“生成”符号类

我刚刚开始使用Dagger 2进行dependency injection。 当我创build我的modulescomponents并试图构build我的应用程序时, gradle抛出错误

Error:(4, 24) error: cannot find symbol class Generated

我钻进去,发现这个错误出现在Dagger生成的一个类中。 缺less的特定类是javax.annotation.Generated并且引发错误的行是以@Generated("dagger.internal.codegen.ComponentProcessor")forms创buildDagger生成的类的行

这个问题帮助我find了解决方法,即通过在我的gradle构build文件中添加compile 'org.glassfish:javax.annotation:10.0-b28'来将javax包添加为依赖项。 这导致了一个成功的构build。

我的问题是,为什么没有添加作为传递依赖Dagger或为什么没有其他人面对这个问题(我这样认为,因为我不能在这里find任何问题呢?

Solutions Collecting From Web of "无法findDagger 2的“生成”符号类"

阅读更多信息: https : //github.com/google/dagger/issues/95

基本上,解决scheme是做你已经做了什么,其中包括glassfish的javax注释库。

亚历克斯是正确的,但最好添加JSR250依赖而不是GlassFish

 provided 'javax.annotation:jsr250-api:1.0' 

今天正确的答案是使用大于2.1的匕首版本(因为@tomrozb提到的修复被集成在2.1中)