所以我和这个人有几乎完全相同的问题:
Maven安装OSX错误不支持major.minor版本51.0
那里没有任何东西对我有用....我认为问题出在我的符号链接中。我在 .bash_profile 中定义了 $JAVA_HOME 并且 java -version 正确地报告了版本。但是,出于某种原因,mvn 正在尝试使用旧版本的 java。
这是我机器上所有内容的列表:
/usr/libexec/java_home -verbose
Matching Java Virtual Machines (5):
1.8.0_40, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
1.7.0_75, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
我想使用 1.8。和 mvn 来识别它。
如果我运行这个:
ls -l `which java`
lrwxr-xr-x 1 root wheel 74 May 24 22:46 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
然后如果我运行:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/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)
我确实注意到这个符号链接有问题:
cd /System/Library/Frameworks/JavaVM.framework/Versions
ls -l
total 64
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 May 24 22:46 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 May 24 22:46 A
lrwxr-xr-x 1 root wheel 1 May 24 22:46 Current -> A
lrwxr-xr-x 1 root wheel 59 May 24 22:46 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
“CurrentJDK”实际上是否在任何地方使用?以及如何更新链接?
我不明白发生了什么……一切似乎都指向新的 Java,mvn 在哪里以及如何读取 Java 6(不支持的 major.minor 版本 51.0)?