javac: version cible non valide: 1.8 sur Mac lors de l'exécution de la commande Maven
Je suis en train de lancer l'automatisation de test sur Mac. J'ai installé Maven et java, jdk comme suit:
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
et Maven:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Maven home: /usr/local/Cellar/maven/3.2.5/libexec
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
Quand j'ai exécuté Maven commande, j'ai eu cette erreur:
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] javac: invalid target release: 1.8
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options
[ERROR] -> [Help 1]
J'ai cherché ici, il y a une solution retenue est: est-ce
sudo cp $JAVA_HOME/lib/tools.jar /Library/Java/Extensions/
J'ai exécuté cette commande, mais rien ne s'est passé! Je ne sais pas quel est le problème.
source d'informationauteur Ragnarsson
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, déterminez où 1.8 Java est installé en exécutant la commande:
Ensuite, définissez votre variable d'environnement JAVA_HOME en exécutant la commande:
Maven devrait fonctionner par la suite, au moins dans cette fenêtre de terminal.
Vous devez définir la variable d'environnement JAVA_HOME dans votre profil si vous ne voulez pas avoir à exécuter ces commandes à chaque fois que vous ouvrez un nouveau terminal.
Si vous ne l'avez pas déjà fait, utilisez le
maven-compiler-plugin
pour déterminer la version de Java à utiliser dans Maven. Mettez ceci dans votrepom.xml
fichier (modifier la<source/>
et<target/>
version du JDK version que vous avez besoin):(Si vous avez déjà un
<build/>
et/ou<plugins/
> section, ajoutez le<plugin/>
partie, seulement.)