Do Kotlin and Dagger contain together?

Dependency Injection is probably the most powerful example of all, but I'm combined with Kotlin. I wonder if Dagger is reliable and, most importantly, debugged enough to work on large projects. As one example, this instruction in gradle

  kapt "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"

Sets a wonderfully long but useless message. Cannot access the NonExistent class: Missing, of course, such complex information 1) The name of the class that is missing 2) Any information about the point in the code where this link is located.

Apparently this is an old issue reported in 2016: https://github.com/google/dagger/issues/435

To solve this problem, you need to perform the two-step process described here: ERROR: error.NonExistentClass Kotlin In a project with several Dagger modules

Remember that you can get this error without a multi-module situation.

It is forbidden for me to use the dagger in the Kotlin app. I am missing something or using the wrong version of something. I also added all my gradle files!

      Error:17:18:39.263 [ERROR] [system.err] warning: Supported source version 'RELEASE_7' from annotation processor '__gen.AnnotationProcessorWrapper_debug_android_arch_persistence_room_RoomProcessor' less than -source '1.8'
        17:18:39.263 [ERROR] [system.err] error: cannot access NonExistentClass
        17:18:39.263 [ERROR] [system.err]   class file for error.NonExistentClass not found
        17:18:39.263 [ERROR] [system.err]   Consult the following stack trace for details.
        17:18:39.267 [ERROR] [system.err]   com.sun.tools.javac.code.Symbol$CompletionFailure: class file for error.NonExistentClass not found

        17:18:39.363 [ERROR] [system.err] 1 error
        17:18:39.363 [ERROR] [system.err] 1 warning
        17:18:39.399 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':app:compileDebugJavaWithJavac'.
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Compilation failed; see the compiler error output for details.
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:51)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:99)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:198)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:183)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:120)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:95)
        17:18:39.403 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   ... 27 more
        17:18:39.407 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
        17:18:39.411 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
        17:18:39.411 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Get more help at https://help.gradle.org
        17:18:39.411 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
        17:18:39.411 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 41s

Gradle File:

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'


buildscript {
    repositories {
        jcenter()
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.7.0'
    }
}

kapt {
    generateStubs = true
}

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        applicationId "com.codingwords.sobrien.demo"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kapt { generateStubs = true }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile "android.arch.persistence.room:runtime:$rootProject.architectureComponentsVersion"
    kapt "android.arch.persistence.room:compiler:$rootProject.architectureComponentsVersion"
    compile "android.arch.persistence.room:rxjava2:$rootProject.architectureComponentsVersion"
    compile "io.reactivex.rxjava2:rxjava:$rootProject.rxjavaVersion"
    compile "io.reactivex.rxjava2:rxandroid:$rootProject.rxandroidVersion"
    compile "io.reactivex.rxjava2:rxkotlin:$rootProject.rxkotlinVersion"

    compile "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
    compile "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersion"
    compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
    compile "com.squareup.okhttp3:okhttp:$rootProject.okhttpVersion"
    compile "com.squareup.okhttp3:logging-interceptor:$rootProject.okhttpVersion"
    compile 'com.google.code.gson:gson:2.8.0'

    compile "com.google.dagger:dagger:$rootProject.daggerVersion"
    kapt "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"
    provided 'org.glassfish:javax.annotation:10.0-b28'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

    testCompile 'junit:junit:4.12'
}


buildscript {
    ext.kotlin_version = '1.1.60'
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

Project level gradle

    allprojects {
        repositories {
            jcenter()
            google()
        }
    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }

    ext {
        minSdkVersion = 19
        targetSdkVersion = 26
        compileSdkVersion = 26
        buildToolsVersion = "26.0.2"
        supportLibraryVersion = "27.0.0"
        architectureComponentsVersion = "1.0.0-rc1"
        rxjavaVersion = "2.1.3"
        rxandroidVersion = "2.0.1"
        rxkotlinVersion = "2.1.0"
        daggerVersion = "2.11"
        retrofitVersion = "2.3.0"
        okhttpVersion = "3.9.0"

    }
+4
source share

Source: https://habr.com/ru/post/1693726/


All Articles