web-dev-qa-db-fra.com

L'exécution a échoué pour la tâche ': compileJava'. > version source non valide: 1.7

J'utilise :

  1. grade-2.3 
  2. javac -version = 1,7 
  3. jre = 1,7 
  4. regedit montre qu'il pointe vers 1.7.

Mais je reçois toujours l'erreur ci-dessous 

L'exécution a échoué pour la tâche ': compileJava'. > version source non valide: 1.7

S'il vous plaît laissez-moi savoir comment résoudre ce problème.

6
Shyam

Vous dites que vous utilisez Java 7, mais en êtes-vous vraiment sûr? 

Autant que je sache, cette erreur se produit précisément lorsque vous utilisez un niveau source/cible qui n'est pas pris en charge par la machine virtuelle Java avec laquelle vous exécutez gradle. Donc, si je devais deviner, je dirais que Gradle semble penser que votre JDK ne prend pas en charge Java 7 (donc son JDK 6 ou version inférieure).

Peut-être vérifier que 

a) Gradle s’exécute avec JDK 7. Si vous exécutez gradle dans Eclipse à l’aide de l’outil de dégradé STS, il utilisera le JRE par défaut de l’espace de travail pour exécuter dégradé. Vérifiez qu’il s’agit au moins d’un JDK 7. (Allez à "Windows >> Préférences >> Java >> JRE installé". Le JRE avec une "coche" est celui avec lequel Gradle exécutera).

b) Gradle peut choisir accidentellement un autre JDK avec lequel compiler des éléments s’il trouve une variable d’environnement «Java_HOME». Vérifiez donc à deux reprises qu’il ne pointe pas vers un JDK 6 ou inférieur.

5
Kris

Vous pouvez définir la version du JDK utilisée par gradle pour la construction en ajoutant un fichier "gradle.properties" à votre projet. Ajoutez la propriété suivante:

org.gradle.Java.home = <Path to the JDK you want to use for your project>

Je suis d’accord avec la réponse précédente selon laquelle vous devriez également vérifier si le JDK et le sourceCompatibility correspondent.

3
Jens

Essayez ce qui suit dans votre note de construction:

apply plugin: 'Java'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

Si cela ne fonctionne pas, veuillez fournir le contenu de votre build.gradle.

1
Julian Pieles

pour vérifier si $ Java_HOME doit réellement pointer sur le Java par défaut# echo $Java_HOME/usr/lib/jvm/Java-1.7.0-openjdk# Java -versionopenjdk version "1.8.0_151" si mal aligné comme ci-dessus, pour modifier $ Java_HOME dans le fichier/etc/profile (ou dans le fichier .profile/.bashprofile/dans le répertoire de base de votre utilisateur). .0-openjdk BTW: résolu à Centos7 pour corriger la version 1.8 non valide

0
Shan Lastmile

Dans mon cas, Gradle fonctionnait sur JRE au lieu deJDK(ensemble incorrect de Java_HOME) . En pointant mon Java_HOME vers la racine du JDK, la construction a été corrigée ..__ (Bien sûr, en supposant que votre PATH % Java_HOME%\bin)

Raison:

Le JDK a le javac pour compiler Java, contrairement au JRE.

0
Pam Stums

Je viens d'avoir le "bug" avec 1.8 Java 

Résolu: Findbugs m'a montré un ü dans un titre de méthode (non autorisé dans graddle)

0
sparksen