首页 > 解决方案 > 错误:无法访问 javax.annotation.Nullable 的 Nullable 类文件未找到

问题描述

我两天以来一直面临这个问题,但没有得到任何解决方案。我正在使用带有 Dagger2 的 MVVM 模型,使用 kotlin 进行 Android 应用程序开发。如果需要任何其他信息,请在下面评论,我会发布它们。我最近开始研究 kotlin,所以任何提示/建议/解决方案将不胜感激。

org.gradle.execution.MultipleBuildFailures:构建完成,有 1 次失败。在 org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:386) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor $RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91) 在org.gradle.initialization 中的 org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)。55)在 java.lang.Thread.run(Thread.java:745) 原因:org.gradle.api.tasks.TaskExecutionException:任务':app:kaptDebugKotlin'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:95) 在 org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91) .api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119) at org.gradle.api.internal .tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43) 在 org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter。DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor .java:193) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) ... 6 更多原因:org.gradle.api.GradleException:编译错误。有关详细信息,请参阅 org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:129) 的 org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:129) 的日志以获取更多详细信息。 org.jetbrains.kotlin 上的 kotlin.compilerRunner.GradleCompilerRunner.runCompilerAsync(GradleKotlinCompilerRunner.kt:158)。

**The gradle looks like below**

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    //Dagger Injection
    def DAGGER_VERSION = "2.25"
    implementation "com.google.dagger:dagger-android:${DAGGER_VERSION}"
    kapt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"
    compileOnly "javax.annotation:jsr250-api:1.0"
    implementation "com.google.dagger:dagger-android-support:${DAGGER_VERSION}" // if you use the support libraries
    kapt "com.google.dagger:dagger-android-processor:${DAGGER_VERSION}"

    // Butterknife - Binding Android views and callbacks to fields and methods
    def BUTTERKNIFE_VERSION = "9.0.0"
    implementation "com.jakewharton:butterknife:${BUTTERKNIFE_VERSION}"
    kapt "com.jakewharton:butterknife-compiler:${BUTTERKNIFE_VERSION}"

    // Retrofit
    def RETROFIT_VERSION = "2.3.0"
    implementation "com.squareup.retrofit2:retrofit:${RETROFIT_VERSION}"
    implementation "com.squareup.retrofit2:converter-gson:${RETROFIT_VERSION}"
    implementation "com.squareup.retrofit2:adapter-rxjava:${RETROFIT_VERSION}"
    implementation("com.squareup.retrofit2:converter-simplexml:${RETROFIT_VERSION}") {
        exclude group: 'xpp3', module: 'xpp3'
        exclude group: 'stax', module: 'stax-api'
        exclude group: 'stax', module: 'stax'
    }

    // OkHttp
    def OKHTTP_VERSION = "3.3.0"
    implementation "com.squareup.okhttp3:okhttp:${OKHTTP_VERSION}"
    implementation "com.squareup.okhttp3:logging-interceptor:${OKHTTP_VERSION}"

    // RxJava
    def rxJava = '2.1.4'
    def rxJavaExtensions = '0.17.7'
    def rxAndroid = '2.0.1'

    api "io.reactivex.rxjava2:rxjava:${rxJava}"
    implementation "com.github.akarnokd:rxjava2-extensions:${rxJavaExtensions}"
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
    implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'

    // RxAndroid
    implementation "io.reactivex.rxjava2:rxandroid:${rxAndroid}@aar"

    //ViewModel
    implementation 'android.arch.lifecycle:extensions:1.1.1'

    // Multidex
    implementation 'com.android.support:multidex:1.0.3'

    //Mobile Vision - Barcode Scanner
    implementation 'com.google.android.gms:play-services-vision:17.0.2'

    //Crashlytics
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.6'
}

标签: androidkotlinmvvmdagger-2android-mvvm

解决方案


推荐阅读