【问题标题】:AnnotationProcessor dependency for Gradle using a jar file使用 jar 文件的 Gradle 的 AnnotationProcessor 依赖项
【发布时间】:2022-08-02 17:51:46
【问题描述】:
我正在我的项目中集成匕首,我遇到了这个问题。
我想添加 jar 依赖项而不是
`annotationProcessor \"com.google.dagger:dagger-compiler:2.41\"`
像下面
annotationProcessor files(\'libs/dagger-compiler-2.41.jar\') 但是当我编译时,它给了我错误
任务 \'\' 执行失败。
匕首/spi/shaded/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcessor
引起:java.lang.NoClassDefFoundError: dagger/spi/shaded/androidx/room/compiler/processing/javac/JavacBasicAnnotationProcesso
它正在与其他 jar dagger 依赖项一起使用,但不适用于 AnnotationProcessor。当我使用annotationProcessor \"com.google.dagger:dagger-compiler:2.41\" 时,一切正常。
implementation files(\'libs/javax.inject-1.jar\')
implementation files(\'libs/dagger-2.41.jar\')
implementation files(\'libs/dagger-producers-2.41.jar\')
标签:
android
jar
build.gradle
dagger-2
annotation-processor
【解决方案1】:
经过大量的研究、成功和尝试以及大量尝试,我能够将 dagger 集成到我的 gradle 以及 android MK 项目中。
对于 Gradle:适用于 API 28 和 30
//Dagger Dependencies
annotationProcessor files('libs/dagger-compiler-2.42.jar')
implementation files('libs/dagger-2.42.jar')
annotationProcessor files('libs/dagger-2.42.jar')
annotationProcessor files('libs/jsr305-3.0.2.jar')
annotationProcessor files('libs/dagger-producers-2.42.jar')
annotationProcessor files('libs/dagger-spi-2.42.jar')
annotationProcessor files('libs/google-java-format-1.5.jar')
annotationProcessor files('libs/failureaccess-1.0.1.jar')
annotationProcessor files('libs/guava-31.0.1-jre.jar')
annotationProcessor files('libs/javapoet-1.13.0.jar')
implementation files('libs/javax.inject-1.jar')
annotationProcessor files('libs/javax.inject-1.jar')
annotationProcessor files('libs/incap-0.2.jar')
annotationProcessor files('libs/checker-compat-qual-2.5.5.jar')
annotationProcessor files('libs/kotlin-stdlib-1.6.10.jar')
annotationProcessor files('libs/kotlin-stdlib-jdk8-1.5.32.jar')
annotationProcessor files('libs/kotlinx-metadata-jvm-0.4.2.jar')