热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Maven安装OSX错误不支持major.minor版本51.0

如何解决《Maven安装OSX错误不支持major.minor版本51.0》经验,为你挑选了3个好方法。

我按照以下步骤安装了maven :(教程)

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

然后我在.bash_profile中写了回声,就像这样:

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…

我也在.bashrc中写了这个

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

现在,当我想检查版本(mvn -v)时,我得到以下异常:我认为有一些版本错误,但我不知道.

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)

附加信息:

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

小智.. 275

问题是因为您没有正确地在Mac中设置JAVA_HOME.为了做到这一点,你应该这样设置:

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

在我的情况下,我的JDK安装是jdk1.8.0_40,请确保键入你的.

然后你可以使用maven命令.

问候!



1> 小智..:

问题是因为您没有正确地在Mac中设置JAVA_HOME.为了做到这一点,你应该这样设置:

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

在我的情况下,我的JDK安装是jdk1.8.0_40,请确保键入你的.

然后你可以使用maven命令.

问候!


我还注意到当前版本的Maven3需要Java7,至少我在`JAVA_HOME`*被正确设置时得到了这个错误消息,但是到了Java 1.6 JDK.

2> René..:

请尝试:

$JAVA_HOME/bin/java -version

Maven $JAVA_HOME用于JRE库的类路径解析.为了确保使用某个JDK,请在编译之前明确设置它,例如:

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

是不是版本<1.7并且您使用的是Maven 3.3.1?在这种情况下,原因是一个新的先决条件:https://issues.apache.org/jira/browse/MNG-5780


从Maven 3.3开始,最低要求为JDK 1.7.如果你想用JDK 1.6进行编译,你必须坚持使用Maven 3.2.5或更低版本.

3> evandrix..:

一个动态的$HOME/.zshrc解决方案,如果你像我一样.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


推荐阅读
author-avatar
手机用户2502869561
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有