Android kotlin 使用Dagger2报错 InvocationTargetException 不能生成DaggerXXComponent
Posted guangdeshishe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android kotlin 使用Dagger2报错 InvocationTargetException 不能生成DaggerXXComponent相关的知识,希望对你有一定的参考价值。
官方/网络示例:
implementation 'com.google.dagger:dagger:2.x'
kapt 'com.google.dagger:dagger-compiler:2.x'
错误提示:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
执行Run with --stacktrace
后提示:
Caused by: java.lang.NoClassDefFoundError: javax/annotation/Generated
at dagger.internal.codegen.SourceFileGenerator.<clinit>(SourceFileGenerator.java:49)
at dagger.internal.codegen.ComponentProcessor.initSteps(ComponentProcessor.java:103)
at dagger.shaded.auto.common.BasicAnnotationProcessor.init(BasicAnnotationProcessor.java:121)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.init(incrementalProcessors.kt:36)
at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.init(annotationProcessing.kt:175)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:686)
... 41 more
正确示例:
implementation 'com.google.dagger:dagger-android:2.35.1'
implementation 'com.google.dagger:dagger-android-support:2.22.1'
kapt 'com.google.dagger:dagger-android-processor:2.22.1'
kapt 'com.google.dagger:dagger-compiler:2.22.1'
以上是关于Android kotlin 使用Dagger2报错 InvocationTargetException 不能生成DaggerXXComponent的主要内容,如果未能解决你的问题,请参考以下文章
dagger2 和 kotlin 的 Android 单元测试问题
kotlin + Dagger2 :没有@Provides-annotated 方法就无法提供
Dagger2 Qualifier 不适用于 Kotlin?