代码之家  ›  专栏  ›  技术社区  ›  Nisa Efendioglu

任务“:common:kaptDebugKotlin”的执行失败。>执行org.getbrains.kotlin.gradle.internal时出错。Kapt执行

  •  0
  • Nisa Efendioglu  · 技术社区  · 4 年前

    任务“:common:kaptDebugKotlin”的执行失败。

    执行org.getbrains.kotlin.gradle.internal时出错。Kapt执行 java.lang.reflect。InvocationTargetException(无错误消息)

    java.lang.IllegalStateException: failed to analyze: java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
        at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:56)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:194)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:155)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:169)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1575)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
        at sun.rmi.transport.Transport$1.run(Transport.java:200)
        at sun.rmi.transport.Transport$1.run(Transport.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
        at com.sun.tools.javac.util.Assert.error(Assert.java:133)
        at com.sun.tools.javac.code.TypeAnnotations.annotationType(TypeAnnotations.java:231)
        at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:294)
        at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitMethodDef(TypeAnnotations.java:1066)
        at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:778)
        at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
        at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
        at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
        at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:1042)
        at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
        at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
        at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
        at com.sun.tools.javac.code.TypeAnnotations$1.run(TypeAnnotations.java:127)
        at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:152)
        at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
        at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
        at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
        at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
        at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:74)
        at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:31)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:229)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:192)
        at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:100)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$invokeExtensionsOnAnalysisComplete(TopDownAnalyzerFacadeForJVM.kt:111)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:121)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:85)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:514)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:505)
        at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:505)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:189)
        ... 24 more
    

    你好,我的项目出错了。我该如何解决此问题?我找不到任何关于问题原因的信息。你能帮助我吗?

    我的毕业生:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        ext {
            // Sdk and tools
            minSdk_version = 21
            targetSdk_version = 31
            compileSdk_version = 31
            buildTools_version = "30.0.3"
    
            // Gradle dependencies
            gradle_version = '4.1.3'
            kotlin_version = "1.4.32"
            googleServices_version = "4.3.4"
            crashlyticsGradle_version = "2.4.1"
            navigation_version = "2.3.3"
            hiltGradle_version = "2.33-beta"
            onesignalGradle_version= "0.12.10"
            // App dependencies
            ktx_version = "1.3.2"
            appCompat_version = "1.2.0"
            material_version = "1.3.0"
            constraintLayout_version = "2.0.4"
            fragment_version = "1.3.2"
            lifecycle_version = "2.3.1"
            coroutines_version = "1.4.2"
            paging_version = "2.1.2"
            hiltViewModel_version = "1.0.0-alpha03"
            swiperefresh_version = "1.1.0"
            dataStore_version = "1.0.0-alpha06"
            browser_version = "1.3.0"
            firebaseBom_version = "26.5.0"
            playCore_version = "1.8.1"
            onesignal_version = "4.2.0"
    
            // 3rd App dependencies
            exoplayer_version = "2.13.1"
            glide_version = "4.12.0"
            retrofit_version = "2.9.0"
            jsoup_version = "1.13.1"
            eventbus_version = "3.2.0"
            roundedimageview_version = "2.3.0"
    
            //Test
            junit_version = "4.13.2"
            testExtJunit_version = "1.1.2"
            testEspresso_version = "3.3.0"
        }
    
        dependencies {
            classpath "com.android.tools.build:gradle:${gradle_version}"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath "com.google.gms:google-services:$googleServices_version"
            classpath "com.google.firebase:firebase-crashlytics-gradle:$crashlyticsGradle_version"
            classpath "com.google.dagger:hilt-android-gradle-plugin:$hiltGradle_version"
            classpath "gradle.plugin.com.onesignal:onesignal-gradle-plugin:$onesignalGradle_version"
        }
    
        repositories {
            google()
            jcenter()
            gradlePluginPortal()
            maven { url "https://plugins.gradle.org/m2/" }
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
            maven { url "https://maven.google.com" }
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    级配特性:

      distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
    
    0 回复  |  直到 4 年前
        1
  •  5
  •   Halil Ozel    3 年前

    您必须更改JDK版本。

    您必须从版本升级 8 11 .

    enter image description here

        2
  •  1
  •   Payam Monsef    4 年前

    似乎您在使用hilt注入依赖项时遇到了问题。

    检查WhatEverModule类,并在类名上方添加这些注释

    @Module
    @InstallIn(SingletonComponent::class)
    

    有一个使用hilt注入数据库的示例模块代码

    import dagger.Module
    import dagger.hilt.InstallIn
    import dagger.hilt.components.SingletonComponent
    
    @Module
    @InstallIn(SingletonComponent::class)
    class DatabaseModule {
    
        @Singleton
        @Provides
        fun provideDatabase(@ApplicationContext context: Context): AppDatabase =
            Room.databaseBuilder(context, AppDatabase::class.java, "db_name")
                .allowMainThreadQueries().build()
    }
    

    也不要忘记将“@HiltAndroidApp”添加到您的主应用程序类中

    import android.app.Application
    import dagger.hilt.android.HiltAndroidApp
    
    @HiltAndroidApp
    class MainApplication : Application() {
    
        override fun onCreate() {
            super.onCreate()
        }
    }