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
Respuestas:
El problema es porque no ha configurado JAVA_HOME en Mac correctamente. Para hacer eso, debe 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 los comandos de maven.
¡Saludos!
fuente
JAVA_HOME
se configuró correctamente, pero en un JDK de Java 1.6.export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/"
mi .profile./Library/Java/JavaVirtualMachines
está vacío ... ¿qué debo hacer? 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)
Por favor, intente:
Maven utiliza
$JAVA_HOME
para la resolución de rutas de clases de las librerías JRE. Para asegurarse de utilizar un determinado JDK, configúrelo explícitamente antes de compilar, por ejemplo:¿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
fuente
Una
$HOME/.zshrc
solución dinámica , si eres como yo, es decir. Linux @ trabajo; MBP / A @ casafuente
Lo resolví poniendo una versión antigua de maven (2.x), usando brew:
fuente
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 establezca la versión correcta de JDK.
fuente
Haga esto en su .profile -
exportar JAVA_HOME = `/ usr / libexec / java_home`
(las comillas invertidas asegúrese de ejecutar el comando y colocar su valor en JAVA_HOME)
fuente