【问题标题】:maven version exception on macmac上的maven版本异常
【发布时间】:2017-04-13 02:15:09
【问题描述】:

当我执行“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)

我安装的Maven版本是maven 3.3.3

我的java版本是:

java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

echo $PATH 返回:

/Library/Maven/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

如何解决Maven的问题?

【问题讨论】:

  • 尝试降级到3.2版本
  • 我检查了 echo $JAVA_HOME,发现 java 版本 "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit服务器虚拟机(内部版本 20.65-b04-466.1,混合模式)。是这个原因吗?

标签: java eclipse macos maven


【解决方案1】:

$JAVA_HOME 应该像您的情况一样指向 1.8.0_65。

如果您希望它永久更改JAVA_HOME 的值,则必须将该命令添加到您的~/.profile 文件中。以下是有关如何完成此操作的说明:

  • 打开 Terminal.app(应用程序 → 实用程序 → 终端)
  • 类型:

    emacs .profile
    
  • 将此添加到 .profile 文件的末尾:

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

    注意JAVA_HOME应该是你的JDK目录的路径。

  • 保存并退出 emacs (ctrl-x, ctrl-s; ctrl-x, ctrl-c)

  • 打开一个新的终端窗口(cmd-n)并输入:

    $JAVA_HOME/bin/java -version
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多