Mes listes de fichiers pom
<project>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
...
Cependant mvn clean install
, je reçois
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:
javac: invalid target release: 1.7
Usage: javac <options> <source files>
/usr/bin/java -version
est ( which java
pointe ici)
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
javac
pointe également vers la version Java correcte
/usr/bin/javac -> /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/javac
Sur cette machine, j'utilise zsh
( echo $0
renvoie -zsh
)
Dans mon .zshrc
, j'ai défini:
33 # HOME
34 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
35 SCALA_HOME=/Library/Scala/current
36 FORGE_HOME=~/tools/forge/
37
38 # PATH
39 PATH="/Library/Frameworks/Python.framework/Versions/3.2/bin:${PATH}"
40 PATH=${PATH}:${JAVA_HOME}/bin
41 PATH=${PATH}:/bin/
42 PATH=${PATH}:/sbin/
43 PATH=${PATH}:/usr/bin/
44 PATH=${PATH}:/usr/sbin/
45 PATH=${PATH}:/opt/local/bin/
46 PATH=${PATH}:/opt/local/sbin/
47 PATH=${PATH}:/usr/local/git/bin
48 PATH=${PATH}:/usr/local/git/sbin
49 PATH=${PATH}:/Applications/Xcode.app/Contents/Developer/usr/bin
50 PATH=${PATH}:${SCALA_HOME}/bin
51 PATH=${PATH}:${FORGE_HOME}/bin
52
53 export PATH
Quand je cours, mvn clean install --debug
je vois qu'en fait j'utilise Java 6
1 Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600)
2 Maven home: /usr/share/maven
3 Java version: 1.6.0_35, vendor: Apple Inc.
4 Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Où pourrait-il être défini? J'ai source (d) mon .zshrc plusieurs fois.
/usr/bin
premier dans sa liste de répertoires. Essayezjavac -version
sans spécifier de répertoire.javac 1.7.0_10
echo $JAVA_HOME
vous dit-il?--debug
, il devrait vous indiquer la ligne de commande exacte qu'il utilise pour exécuterjavac
(avec des tonnes d'autres choses). Ça dit quoi?Réponses:
Vérifiez le
mvn
script dans votre installation maven pour voir comment il construit la commande. Peut-être que vous ou quelqu'un d'autre avez codéJAVA_HOME
en dur un là-dedans et l' avez oublié.la source
mvn
script n'était pas compatible avec mon installation OSX du JDK 7 d'Oracle, et je n'ai rien fait d'extraordinaire pour le configurer (le script recherche un dossierLibrary/Java/JavaVirtualMachines/CurrentJDK
qui n'existait pas pour moi (ce qui existait est à lajdk1.7.0_25.jdk
place deCurrentJDK
). Non une solution élégante mais je viens de coder l'exportation et maintenant cela fonctionne (PS: maven sur OSX est à/usr/share/maven/bin/mvn
)/usr/local/bin/mvn
essayez d'utiliser une version plus récente du plugin du compilateur maven:
De plus, la spécification du codage du fichier source dans maven est mieux faite globalement:
EDIT : Comme cette réponse retient toujours l'attention, je voudrais juste souligner que les dernières valeurs (à partir de la dernière édition) sont 3.2 pour le plugin du compilateur maven et 1.8 pour java, car les questions sur la compilation du code java 8 via maven sont liées à apparaîtra bientôt :-)
la source
J'ai eu le même problème et pour résoudre cela, je suis cet article de blog: http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/
tks spéciaux à @mkyong
EDIT: J'utilise maintenant: jEnv + sdkman
la source
Veuillez vérifier votre pom.xml pour les balises ci-dessous
il doit pointer la version jdk requise
la source
Vous devez vérifier la version Maven:
Vous trouverez la version Java que Maven utilise pour la compilation. Vous devrez peut-être réinitialiser JAVA_HOME si nécessaire.
la source
J'ai eu le même problème. J'ai trouvé que c'est parce que le script Maven regarde le lien CurrentJDK ci-dessous et trouve un 1.6 JDK. Même si vous installez le dernier JDK, cela n'est pas résolu. Bien que vous puissiez simplement définir JAVA_HOME dans votre script $ HOME / .bash_profile, j'ai choisi de corriger le lien symbolique à la place comme suit:
Notez que CurrentJDK pointe vers 1.6.0.jdk
Pour y remédier, j'ai exécuté les commandes suivantes (vous devez vérifier votre version installée et vous adapter en conséquence).
la source
Diagnostique:
Vous pouvez voir quelle version java Maven utilise en exécutant "mvn --version"
Solution pour Debian:
Le script mvn définit la variable d'environnement JAVA_HOME en interne en recherchant javac (quel javac). Par conséquent, si vous avez plusieurs versions de java installées simultanément, par exemple JDK 6 et JDK 7 et utilisez le système Debian Alternatives pour choisir entre elles, même si vous avez changé l'alternative de "java" à JDK 7, mvn utilisera toujours JDK 6. Vous doivent également changer l'alternative pour "javac". Par exemple:
ÉDITER:
En fait, une solution encore meilleure consiste à utiliser update-java-alternatives (par exemple)
comme détaillé dans https://wiki.debian.org/JavaPackage , car cela changera toutes les alternatives aux divers outils Java (il y en a une douzaine environ).
la source
Pourriez-vous essayer un plugin plus récent; sur le site maven:
J'ai aussi vu ce qui suit:
la source
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project divs: Fatal error compiling: invalid target release: 1.7 -
Essayez de modifier les paramètres du compilateur Java dans Propriétés dans Eclipse-
Aller à: Préférences-> Java-> Compilateur-> Niveau de conformité du compilateur-> 1.7 Appliquer Ok
Redémarrez IDE.
Confirmez les paramètres du compilateur pour le projet - Aller à: Propriétés du projet -> Compilateur Java -> Décochez (Utiliser la conformité de l'environnement d'exécution 'JavaSE-1.6' sur le chemin de construction java.) Et sélectionnez 1.7 dans la liste déroulante. (Ignorer si déjà 1.7)
Redémarrez IDE.
Si le problème persiste - Exécutez des cas de test individuels en utilisant la commande dans le terminal -
la source
Vous ne savez pas quel système d'exploitation est utilisé ici, mais vous pouvez éliminer beaucoup de version java en utilisant un debian / ubuntu avec update-java-alternatives pour définir le système jvm par défaut à l'échelle du système.
Pour en définir un nouveau, utilisez:
Pas besoin de définir JAVA_HOME pour la plupart des applications.
la source
faites un clic droit sur votre projet dans eclipse et ouvrez "Run Configurations" .. vérifiez la version jre ici. parfois cela ne changera pas par défaut dans eclipse, même après avoir changé la version dans le chemin de construction.
la source
Pour une compilation spécifique qui nécessite une
/etc/alternatives/java
JVM (autre que celle par défaut ), envisagez de préfixer lamvn
commande avecJAVA_HOME
comme ceci,Ici, nous supposons que la valeur par défaut est Java 8, alors que pour le projet spécifique en question, nous avons besoin de Java 7.
la source
{JAVA_1_4_HOME} / bin / javacyVous pouvez également essayer ...
la source
Ok, je viens de résoudre ce problème moi-même aussi. C'est plus important votre JAVA_HOME, si vous n'avez pas de version inférieure ou nulle par rapport aux propriétés source / cible du plugin Maven, vous obtiendrez cette erreur.
Assurez-vous d'avoir une bonne version dans votre JAVA_HOME et de l'inclure dans votre PATH.
la source
Vous spécifiez peut-être une mauvaise version de java. java -version (dans votre terminal) pour vérifier la version de java que vous utilisez. Accédez à maven-compile-plugin pour la dernière version du compilateur maven Votre plugin peut apparaître comme ceci si vous utilisez java 6 et que la dernière version du plugin maven compiler est 3.1
la source
Aucune des réponses précédentes n'a complètement résolu mon cas d'utilisation.
Nécessaire pour supprimer le répertoire en cours de création. Nettoyer. Et puis réinstallez. On dirait un problème d'autorisations silencieuses.
la source
J'ai eu ce problème dans IntelliJ IDEA 14 jusqu'à ce que je sois dans le menu Fichier -> Structure du projet, en changeant le SDK du projet en 1.7 et le niveau de langue du projet en 7.
la source
J'ai eu ce problème en travaillant avec eclipse, j'ai dû changer le chemin de construction du projet pour qu'il fasse référence à jre 7
la source