web-dev-qa-db-fra.com

Erreur du plug-in Kotlin: impossible de générer une classe proxy pour la classe org.jetbrains.kotlin.gradle.tasks.KotlinCompile

Obtenir une erreur en essayant d'exécuter une tâche de gradle. Je ne peux pas savoir ce qui est nécessaire ou ce que l'erreur signifie. Le projet sur lequel je travaille a plusieurs sous-projets, j'ai donc un build.gradle principal. L'erreur est pour un sous-projet où je voulais essayer Kotlin.

* Where: Build file '/home/Oracle/bnc/KotlinHandler/build.gradle' line: 13

* What went wrong: A problem occurred evaluating root project 'KotlinHandler'.
> Failed to apply plugin [id 'kotlin']
   > Could not generate a proxy class for class org.jetbrains.kotlin.gradle.tasks.KotlinCompile.

Voici mon build.gradle pour le module défaillant (sous-projet).

buildscript {
    ext.kotlin_version = '1.1.2-2'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'kotlin'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

Voici Pastebin build.gradle qui est assez gros, à cause de toutes les tâches qu'il contient

Ajout de --debug output après avoir changé le jdk en 1.8 et compilé la dépendance en compile "org.jetbrains.kotlin:kotlin-stdlib-jre8

10

démarrer kotlin 1.1.2 JDK inférieur à 1.8 n'est plus pris en charge par le compilateur kotlin comme dans - 1.1.2 article de blog :

Le compilateur Kotlin nécessite maintenant JDK 8 pour fonctionner. Vous ne devriez pas remarquer de changements, car la plupart des autres outils de développement Java tels que Gradle et la chaîne d'outils Android nécessitent également JDK 8; vous devez donc certainement déjà l'avoir déjà installé. Pour le code généré par le compilateur, la compatibilité Java 1.6 est toujours la valeur par défaut et nous n’envisageons pas de supprimer la prise en charge de la génération de bytecode compatible Java 1.6.

7
oshai

Dans mon cas, c’était parce que j’utilisais gradle avec Java 1.7 et il semble que le plugin ait été compilé uniquement pour la version 1.8:

16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'kotlin']
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.Java:153)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.Java:112)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.Java:113)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.Java:36)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.Java:80)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.Java:136)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.Java:46)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.Java:34)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.Script$apply$1.callCurrent(Unknown Source)
16:48:42.742 [ERROR] [org.gradle.BuildExceptionReporter]        at build_4u37tyfuy0k7d4zd8vsk5lx9d.run(build.gradle:17)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.Java:91)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        ... 63 more
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: org.gradle.api.GradleException: Could not generate a proxy class for class org.jetbrains.kotlin.gradle.tasks.KotlinCompile.
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.Java:201)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.Java:64)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.taskfactory.TaskFactory.create(TaskFactory.Java:115)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.taskfactory.TaskFactory.createTask(TaskFactory.Java:77)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.createTask(AnnotationProcessingTaskFactory.Java:101)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.taskfactory.DependencyAutoWireTaskFactory.createTask(DependencyAutoWireTaskFactory.Java:39)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.tasks.DefaultTaskContainer.create(DefaultTaskContainer.Java:62)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.tasks.DefaultTaskContainer.create(DefaultTaskContainer.Java:97)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider.createKotlinJVMTask(TasksProvider.kt:26)
16:48:42.743 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.Kotlin2JvmSourceSetProcessor.doCreateTask(KotlinPlugin.kt:111)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.Kotlin2JvmSourceSetProcessor.doCreateTask(KotlinPlugin.kt:93)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor.createKotlinCompileTask(KotlinPlugin.kt:83)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetProcessor.<init>(KotlinPlugin.kt:56)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.Kotlin2JvmSourceSetProcessor.<init>(KotlinPlugin.kt:101)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinPlugin.buildSourceSetProcessor$kotlin_gradle_plugin_main(KotlinPlugin.kt:302)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinPlugin.buildSourceSetProcessor$kotlin_gradle_plugin_main(KotlinPlugin.kt:295)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.AbstractKotlinPlugin$configureSourceSetDefaults$1.execute(KotlinPlugin.kt:279)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.AbstractKotlinPlugin$configureSourceSetDefaults$1.execute(KotlinPlugin.kt:256)
16:48:42.744 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.Java:110)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.AbstractKotlinPlugin.configureSourceSetDefaults(KotlinPlugin.kt:278)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.AbstractKotlinPlugin.apply(KotlinPlugin.kt:269)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinPlugin.apply(KotlinPlugin.kt:306)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinPlugin.apply(KotlinPlugin.kt:295)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:46)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper.apply(KotlinPluginWrapper.kt:34)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(ImperativeOnlyPluginApplicator.Java:35)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.RuleBasedPluginApplicator.applyImperative(RuleBasedPluginApplicator.Java:43)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.Java:137)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        ... 73 more
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: Java.lang.UnsupportedClassVersionError: org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments : Unsupported major.minor version 52.0
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.internal.reflect.ClassInspector.inspectClass(ClassInspector.Java:67)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.internal.reflect.ClassInspector.visitGraph(ClassInspector.Java:51)
16:48:42.745 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.internal.reflect.ClassInspector.inspect(ClassInspector.Java:31)
16:48:42.746 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.AbstractClassGenerator.inspectType(AbstractClassGenerator.Java:260)
16:48:42.746 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.AbstractClassGenerator.inspectType(AbstractClassGenerator.Java:216)
16:48:42.746 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.Java:95)

Billets associés: https://youtrack.jetbrains.com/issue/KT-17866 et https://youtrack.jetbrains.com/issue/KT-17297

3
Daniel Silva

Si vous recevez toujours cette erreur malgré:

  • Définir la variable d'environnement Java_HOME sur votre installation JDK8.
  • Changer sourceCompatibility dans votre fichier build.gradle.
  • Pointez sur JDK8 dans votre fichier gradle.properties.

Il est possible que vous utilisiez une ancienne version de Gradle.

Je recevais cette erreur sur gradle version 3.2, mais la mise à niveau vers version 5.1 a corrigé l'erreur pour moi.

Vous pouvez télécharger la dernière version de Site Web de Gradle .

Plus d'infos ici .

1
byxor

Essayez d’ajouter le repo jcenter() dans les référentiels buildscript et de mettre à jour la version de kotlin.

buildscript {
  ext.kotlin_version = '1.1.2-4'
  repositories {
    mavenCentral()
    jcenter()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

  }
}

apply plugin: "kotlin"

repositories {
  mavenCentral()
  jcenter()
}

dependencies {

  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

Si vous ciblez JDK 7 ou JDK 8, vous pouvez utiliser des versions étendues de la bibliothèque standard Kotlin contenant des fonctions d'extension supplémentaires pour les API ajoutées dans les nouvelles versions de JDK. Au lieu de kotlin-stdlib, utilisez l’une des dépendances suivantes:

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8"
0
Aryan