J'ai vu des questions similaires, mais je n'ai pas encore trouvé de réponse.
En utilisant maven compile, je reçois:
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Voici le pom.xml:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Version Javac:
javac 1.7.0_25
Version Java:
Java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Avez-vous des idées de ce que ça pourrait être?
Vous devez définir Java_HOME sur votre répertoire de base jdk7, par exemple sous Microsoft Windows:
ou sur OS X:
Outre la définition de la variable d'environnement Java_HOME
, vous devez vous assurer que vous utilisez le bon JDK dans votre configuration d'exécution Maven. Accédez à Exécuter -> Exécuter la configuration, sélectionnez votre configuration Maven Build, accédez à l'onglet JRE et définissez le bon environnement d'exécution JRE.
Dans IntelliJ IDEA, cela m'est arrivé lorsque j'ai importé un projet qui fonctionnait bien et qui fonctionnait avec Java 1.7. Je n’avais apparemment pas informé IntelliJ que Java 1.7 avait été installé sur ma machine et que mon $Java_HOME
n’était pas trouvé.
Sur un Mac, cela est résolu par:
Clic droit sur le module | Paramètres du module | Projet
et en ajoutant le SDK 1.7 en sélectionnant "Nouveau" dans le SDK de projet.
Ensuite, allez dans le menu principal IntelliJ IDEA | Préférences | Maven | Coureur
et sélectionnez le bon JRE. Dans mon cas, il a été mis à jour correctement Utilisez Project SDK, qui était maintenant de 1,7.
Lorsque Maven fonctionne en dehors d’Eclipse, mais donne cette erreur après une modification du JDK, accédez à votre configuration d’exécution Maven et, en bas de la page principale, une option "Maven Runtime". Le mien utilisait le Maven intégré, donc après l'avoir changé pour utiliser mon maven externe, cela a fonctionné.
Cela fonctionne probablement pour beaucoup de choses mais ce n'est pas suffisant pour Maven et certainement pas pour le plugin Maven Compiler.
Vérifiez la réponse de Mike à sa propre question ici: question 24705877 de stackoverflow
Cela a résolu le problème pour moi à la fois en ligne de commande ET dans Eclipse.
De plus, @LinGao répond à question de stackoverflow 2503658 et l'utilisation de la variable $ JAVACMD pourrait aider, mais je ne l'ai pas testée moi-même.