maven不在Mac OS X上使用Java

maven不在Mac OS X上使用Java,java,macos,maven,Java,Macos,Maven,我下载了最新版本的JDK8 for Mac OS X,还安装了maven。但是,我觉得Java和maven之间似乎不兼容: myusername$ mvn -version Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0 at java.lang.Cl

我下载了最新版本的JDK8 for Mac OS X,还安装了maven。但是,我觉得Java和maven之间似乎不兼容:

myusername$ mvn -version
    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)
我正在使用:

myusername$ javac -version
javac 1.8.0_45
如何使Java和maven相互兼容

已尝试从可能重复的问题中获取说明::


Mac上1.6.x JAVA版本的
JAVA_HOME
/Library/JAVA/HOME
只有JAVA 7和更高版本安装在
/Library/JAVA/JavaVirtualMachines


执行
/usr/libexec/java_home-version1.8
以获取当前的1.8java home。我使用
export JAVA_HOME=$(/usr/libexec/JAVA_HOME-version 1.8)
设置正确的
JAVA_HOME
无论我选择了什么JVM目标,我都会得到相同的错误。解决办法是:


JAVA_HOME的可能重复项定义不正确,因此如果下载了最新版本的JDK8,则需要正确设置JAVA_HOME,为什么JAVA_HOME指向JDK 6目录?它在
bin/JAVA
stage@Zoltán我如何手动设置它?它试图运行execute
/usr/libexec/java_home-version 1.8
以获取当前1.8 java主页的
/bin/java
阶段似乎有问题。我使用
export-JAVA\u-HOME=$(/usr/libexec/JAVA\u-HOME-version 1.8)
设置正确的
JAVA\u-HOME
我知道了!非常感谢。问题是我下载了Java8,但没有使用导出命令进行更新。Maven的当前版本和我的旧版本Java1.6中存在不兼容。看起来Maven的最新版本更适合JDK8。
myusername$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home
myusername$ mvn -version
Error: JAVA_HOME is not defined correctly.
  We cannot execute /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
brew uninstall maven
brew tap homebrew/versions
brew install maven30