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

Java17搭配Maven Wrapper报MaxPermSize参数无法识别错误如何解决

问题根本原因

MaxPermSize是JDK 8及更早版本中用来控制永久代内存上限的VM参数,JDK 9起永久代被元空间(Metaspace)完全替代,该参数也随之被废弃,JDK 17已经完全不识别该参数,触发VM启动报错。
你没有主动配置该参数的前提下,参数一般来自全局环境变量或者旧版Maven Wrapper的遗留配置,可按以下步骤排查解决:

解决方案

步骤1:验证是否为全局MAVEN_OPTS环境变量导致

Windows环境下在终端执行以下命令临时清空当前会话的MAVEN_OPTS,再运行mvnw命令验证:

set MAVEN_OPTS= && ./mvnw.cmd -version

如果命令正常输出Maven版本信息,说明是全局环境变量配置了带MaxPermSize的MAVEN_OPTS:

  • 打开Windows系统环境变量配置面板,找到MAVEN_OPTS变量,删除其中的-XX:MaxPermSize=512m参数即可,剩余参数保留不影响Java 17运行。

步骤2:排查项目本地Maven配置

如果步骤1验证后仍然报错,检查项目根目录下的.mvn文件夹中的两个配置文件:

  • jvm.config:存储JVM启动参数
  • maven.config:存储Maven运行参数
    找到包含MaxPermSize的行,直接删除该行即可。

步骤3:升级Maven Wrapper版本

你当前使用的3.8.2版本的Maven Wrapper存在对高版本JDK的兼容问题,可升级到最新稳定版Maven Wrapper解决:
如果你本地安装了全局可用的Maven,直接执行以下命令即可完成升级:

mvn wrapper:wrapper -Dmaven=3.9.6

升级完成后重新执行mvnw命令即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:09:03