You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下Maven 3.9.x运行报错UnsupportedClassVersionError求助

Maven运行报错:UnsupportedClassVersionError 解决方法

问题背景

在Mac系统中运行Maven时触发如下错误,当前Java与javac版本均为1.7.0_80,Maven版本为3.9.0/3.9.1。

报错及环境信息

mvn
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:425)
    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:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:140)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:259)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

pwd
/usr/local/Cellar/maven/3.9.1

java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

javac -version
javac 1.7.0_80

原因分析

  • major.minor version 52.0对应Java 8(JDK 1.8),说明Maven 3.9.x系列是用Java 8编译的,无法在Java 7运行环境下启动。
  • Maven官方兼容规则:3.9.x及后续版本要求Java 8或更高版本JDK支持,Java 7仅兼容到Maven 3.5.x系列。

解决方案

方案一:升级Java版本至8或更高

  1. 安装Java 8或更高版本(如OpenJDK 8)
  2. 在Mac上切换默认Java版本:
    # 查看已安装的Java版本列表
    /usr/libexec/java_home -V
    # 设置JAVA_HOME为Java 8
    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    # 验证版本切换结果
    java -version
    
  3. 重新执行Maven命令即可正常运行。

方案二:降级Maven至兼容Java 7的版本

Maven 3.5.x是最后支持Java 7的稳定分支,推荐安装3.5.4版本:

  1. 卸载当前Maven 3.9.x:
    brew uninstall maven
    
  2. 安装Maven 3.5:
    brew install maven@3.5
    
  3. 配置环境变量(适配zsh/bash):
    # zsh用户
    echo 'export PATH="/usr/local/opt/maven@3.5/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    
    # bash用户
    echo 'export PATH="/usr/local/opt/maven@3.5/bin:$PATH"' >> ~/.bash_profile
    source ~/.bash_profile
    
  4. 验证Maven版本:
    mvn -v
    

内容的提问来源于stack exchange,提问作者Neenu Chandran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 08:53:20