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
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.
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
Si vous recevez toujours cette erreur malgré:
Java_HOME
sur votre installation JDK8.sourceCompatibility
dans votre fichier build.gradle
.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 .
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"