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?

Dagger2学习笔记

Android Kotlin:错误未解决参考:DaggerAppComponent

Dagger2 + Kotlin:lateinit 属性尚未初始化