web-dev-qa-db-fra.com

Lors de l'utilisation d'Oracle JDK 14, toutes les tâches gradle (6.2.2) échouent avec "Impossible d'initialiser la classe org.codehaus.groovy.runtime.InvokerHelper"

J'ai installé JDK 14 et j'ai commencé à l'utiliser. Cependant, les projets qui utilisent Gradle 6.2.2 ne peuvent pas fonctionner, l'erreur suivante "Impossible d'initialiser la classe org.codehaus.groovy.runtime.InvokerHelper" apparaît chaque fois que j'essaye d'appeler une tâche Gradle. D'autres projets, par exemple les projets maven et plain Java fonctionnent bien.

Un moyen simple de reproduire cette erreur consiste à créer un nouveau dossier et à tenter d'exécuter la tâche d'initialisation. Par exemple:

gradle init --type de base

ÉCHEC: la construction a échoué avec une exception.

  • Erreur: impossible d'initialiser la classe org.codehaus.groovy.runtime.InvokerHelper

  • Essayez: Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes.

  • Obtenez plus d'aide sur https://help.gradle.org

BUILD FAILED dans 878ms

Le PC de cet exemple exécute Windows 10. La version Java est:

Java --version

Java 14 17/03/2020 Environnement d'exécution Java (TM) SE (build 14 + 36-1461)

Serveur Java HotSpot (TM) 64 bits VM (build 14 + 36-1461, mode mixte, partage)

Existe-t-il une solution à ce problème pour que je puisse faire fonctionner Gradle 6.2.2 avec Oracle JDK 14?

6
Spyros K

Comme indiqué dans les commentaires ci-dessus et dans Gradle 6.2.2. Compatibilité a Java version entre 8 et 13 est nécessaire pour exécuter Gradle 6.2.2. Java 14 et les versions ultérieures ne sont pas encore pris en charge par Gradle 6.2.2.

Réponse mise à jour depuis la version Gradle 6.3:

Gradle 6.3, prend en charge JDK 14 selon les notes de version de Gradle 6. .

Les solutions suivantes s'appliquent:

  • Pour continuer à utiliser Gradle 6.2.2:

    1. Installez une version JDK compatible (8-13)
    2. Modifiez gradle.properties pour utiliser cette version. Par exemple, si JDK 13 est installé dans: C:/Program Files/Java/jdk-13.0.2 Assurez-vous que la ligne suivante est dans gradle.properties.

      org.gradle.Java.home=C:/Program Files/Java/jdk-13.0.2

  • Pour continuer à utiliser JDK14.

    1. Installez et utilisez Gradle 6.3 (ou supérieur)

Après avoir configuré votre système, vérifiez que vous exécutez les bonnes versions. Par exemple, lorsque vous utilisez Java 14 et Gradle 6.3, vous obtiendrez quelque chose comme:

Tapez C:\>gradle --version suivant pour obtenir la version gradle:

C:> gradle --version

Gradle 6.3

Temps de construction: 2020-03-24 19:52:07 Révision UTC:
bacd40b727b0130eeac8855ae3f9fd9a0b207c60

Kotlin: 1.3.70 Groovy: 2.5.10 Ant: Apache Ant (TM) version 1.10.7 compilé le 1er septembre 2019 JVM: 14 (Oracle Corporation 14 + 36-1461) OS: Windows 10 10.0 AMD64

Tapez Java --version pour obtenir la Java:

C:> Java --version Java 14 2020-03-17 Java (TM) SE Runtime Environment (build 14 + 36-1461) Java HotSpot ( TM) Serveur 64 bits VM (build 14 + 36-1461, mode mixte, partage)

Si vous utilisez le wrapper Gradle, vous pouvez utiliser la commande suivante pour changer le wrapper Gradle en version 6.3:

wrapper gradle --gradle-version = 6.3

16
Spyros K