unsupported not mvn minor major mac found java macos maven install unsupported-class-version

java - not - Instalación de Maven Error OSX No compatible major.minor versión 51.0



mvn command not found mac (6)

El problema es porque no ha configurado JAVA_HOME en Mac correctamente. Para hacer eso, debes configurarlo así:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

En mi caso, mi instalación de JDK es jdk1.8.0_40, asegúrese de escribir la suya.

Entonces puedes usar comandos maven.

¡Saludos!

Instalé maven siguiendo estos pasos: (un 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

luego escribí el eco en el .bash_profile algo así:

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…

y también escribí esto en el .bashrc

export M2_HOME=/Users/steven/zimmermann/maven export M2=$M2_HOME/bin export PATH=$M2:$PATH

ahora cuando quiero verificar la versión ( mvn -v ) obtengo la siguiente excepción: creo que hay algunas versiones incorrectas, pero no lo sé.

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)

Información Adicional:

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


En Eclipse, no necesita cambiar JAVA_HOME, solo necesita cambiar la configuración de ejecución de Maven a algo por encima de 1.6 (incluso si su proyecto está en Java 6, Maven no debería estarlo). Haga clic con el botón derecho en el proyecto, elija Maven Build o Run As> Run Configurations y configure la versión correcta de JDK.


Haga esto en su perfil.

export JAVA_HOME = `/ usr / libexec / java_home`

(los backticks se aseguran de ejecutar el comando y colocar su valor en JAVA_HOME)


Lo resolví poniendo una versión antigua de maven (2.x), usando brew:

brew uninstall maven brew tap homebrew/versions brew install maven2


Por favor, intente:

$JAVA_HOME/bin/java -version

Maven usa $JAVA_HOME para la resolución de classpath de las bibliotecas JRE. Para asegurarse de usar un cierto JDK, configúrelo explícitamente antes de compilar, por ejemplo:

export JAVA_HOME=/usr/java/jdk1.7.0_51

¿No hay una versión <1.7 y estás usando Maven 3.3.1? En este caso, el motivo es un nuevo requisito previo: https://issues.apache.org/jira/browse/MNG-5780


Una solución dinámica $HOME/.zshrc , si eres como yo, es decir. Linux @ work; MBP / A @ home

if [[ $(uname) == "Darwin" ]]; then export OSX=1; fi if [[ $(uname) == "Linux" ]]; then export LINUX=1; fi if [[ -n $OSX ]]; then export JAVA_HOME=$(/usr/libexec/java_home) else export JAVA_HOME=/usr/lib/jvm/default-java fi