找不到 Dagger 2 的符号类“已生成”

2022-09-01 16:58:35

我刚刚开始使用进行依赖注入。当我启动我的,并尝试构建我的应用程序时,抛出了错误Dagger 2modulescomponentsgradle

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

我深入研究了它,发现错误是在生成执行的类之一中。缺少的特定类是,并且引发错误的行是将生成的类表示为DaggerDIjavax.annotation.GeneratedDagger@Generated("dagger.internal.codegen.ComponentProcessor")

这个问题有助于找到解决方案,即通过将行添加到我的gradle构建文件中将包添加为依赖项。这导致了成功的构建。javaxcompile 'org.glassfish:javax.annotation:10.0-b28'

我的问题是,为什么没有将其添加为传递依赖项,或者为什么没有其他人遇到这个特定问题(我假设是这样,因为我在这里找不到有关此的任何问题?Dagger


答案 1

TL;DR 使用匕首 >= 2.1

Alex是对的,但最好添加JSR250依赖项而不是GlassFish。

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

或对于最新的 gradle 插件:

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

答案 2

阅读本文以获取更多信息:https://github.com/google/dagger/issues/95

基本上,解决方案是做你已经做过的事情,包括玻璃鱼javax注释库。


推荐