J'ai installé maven en suivant ces étapes: (un tutoriel)
JAVA_HOME=/Library/Java/Home
export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
echo $JAVA_HOME
echo $M2_HOME
echo $M2
echo $PATH
nano .bash_profile
alors j'ai écrit l'écho dans le .bash_profile sth comme ceci:
JAVA_HOME=/usr/libexec/java_home
M2_HOME=/path/to/your/apache-maven-3.x.x
M2=/path/to/your/apache-maven-3.x.x/bin
PATH=/path/to/maven/bin:/$….bla-bla-bla…
et aussi j'ai écrit ceci dans le .bashrc
export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
maintenant, quand je veux vérifier la version ( mvn -v
), j'obtiens l'exception suivante: je pense qu'il y a des versions erronées, mais je ne sais pas.
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Information additionnelle:
java -version
java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
javac -version
javac 1.8.0_40
Réponses:
Le problème est que vous n'avez pas défini correctement JAVA_HOME sur Mac. Pour ce faire, vous devez le configurer comme ceci:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Dans mon cas, mon installation JDK est jdk1.8.0_40, assurez-vous de saisir la vôtre.
Ensuite, vous pouvez utiliser les commandes maven.
Cordialement!
la source
JAVA_HOME
été défini correctement, mais à un JDK Java 1.6.export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/"
de mon .profile./Library/Java/JavaVirtualMachines
est vide ... que dois-je faire? psjava -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
Essayez plutôt:
Maven utilise
$JAVA_HOME
pour la résolution de chemin de classe des bibliothèques JRE. Pour être sûr d'utiliser un certain JDK, définissez-le explicitement avant la compilation, par exemple:N'existe-t-il pas une version <1.7 et vous utilisez Maven 3.3.1? Dans ce cas, la raison est un nouveau prérequis: https://issues.apache.org/jira/browse/MNG-5780
la source
Une
$HOME/.zshrc
solution dynamique , si vous êtes comme moi ie. Linux @ work; MBP / A @ homela source
Je l'ai résolu en mettant une ancienne version de maven (2.x), en utilisant brew:
la source
Dans Eclipse, vous n'avez pas besoin de changer JAVA_HOME, il vous suffit de changer la configuration d'exécution pour Maven à quelque chose au-dessus de 1.6 (même si votre projet est sur Java 6, Maven ne devrait pas l'être). Cliquez avec le bouton droit sur le projet, choisissez Maven Build ou Exécuter en tant que> Exécuter les configurations et définissez la version JDK correcte.
la source
Faites cela dans votre .profile -
export JAVA_HOME = `/ usr / libexec / java_home`
(les backticks s'assurent d'exécuter la commande et de placer sa valeur dans JAVA_HOME)
la source