Ich habe maven folgendermaßen installiert: (ein Tutorial)
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
dann habe ich das echo so in das .bash_profile geschrieben:
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…
und auch ich habe das in die .bashrc geschrieben
export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
Wenn ich jetzt die Version ( mvn -v
) überprüfen möchte, erhalte ich die folgende Ausnahme: Ich denke, dass einige Versionen falsch sind, aber ich weiß es nicht.
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)
Zusätzliche Information:
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
Antworten:
Das Problem ist, dass Sie JAVA_HOME auf dem Mac nicht richtig eingestellt haben. Um dies zu tun, sollten Sie es wie folgt einstellen:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
In meinem Fall ist meine JDK-Installation jdk1.8.0_40. Geben Sie Ihre ein.
Dann können Sie Maven-Befehle verwenden.
Grüße!
quelle
JAVA_HOME
wurde richtig eingestellt, aber auf einen Java 1.6 JDK.export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/"
mein .profile./Library/Java/JavaVirtualMachines
leer ... was soll ich tun? 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)
Bitte versuchen Sie lieber:
Maven verwendet
$JAVA_HOME
für die Klassenpfadauflösung von JRE-Bibliotheken. Um sicherzugehen, dass Sie ein bestimmtes JDK verwenden, legen Sie es vor dem Kompilieren explizit fest, zum Beispiel:Gibt es keine Version <1.7 und Sie verwenden Maven 3.3.1? In diesem Fall ist der Grund eine neue Voraussetzung: https://issues.apache.org/jira/browse/MNG-5780
quelle
Eine dynamische
$HOME/.zshrc
Lösung, wenn Sie wie ich sind, dh. Linux @ work; MBP / A @ homequelle
Ich habe es gelöst, indem ich eine alte Version von Maven (2.x) mit Brew verwendet habe:
quelle
In Eclipse müssen Sie JAVA_HOME nicht ändern, sondern nur die Ausführungskonfiguration für Maven auf etwas über 1.6 ändern (selbst wenn Ihr Projekt auf Java 6 ausgeführt wird, sollte Maven dies nicht sein). Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Maven Build oder Run As> Run Configurations und stellen Sie die richtige JDK-Version ein.
quelle
Tun Sie dies in Ihrem .profile -
export JAVA_HOME = `/ usr / libexec / java_home`
(Backticks stellen sicher, dass der Befehl ausgeführt und sein Wert in JAVA_HOME platziert wird.)
quelle