Acabo de instalar JDK 8 en mi máquina, pero Maven aún piensa que está utilizando JDK 6.
% mvn --version
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
La versión java correcta se imprime en la línea de comando:
% java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Java Home se ve bien:
% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
Esto parece sospechoso:
% pwd
/System/Library/Frameworks/JavaVM.framework/Versions
% ls -lt
total 64
drwxr-xr-x 10 root wheel 340 May 10 21:20 A
lrwxr-xr-x 1 root wheel 1 May 10 21:15 Current -> A
lrwxr-xr-x 1 root wheel 10 May 10 21:15 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 10 21:15 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 10 21:15 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 10 21:15 1.6.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 52 May 10 21:15 CurrentJDK -> /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
Esta carpeta tiene ambos JDK:
% ls /Library/Java/JavaVirtualMachines/
1.6.0.jdk jdk1.8.0_91.jdk
¿La solución es tan simple como cambiar el enlace simbólico al JDK actual? Hay muchos pasos listados aquí , pero ¿son realmente necesarios?