Java 17 使用 Maven Wrapper 导致无法识别的 VM 选项 'MaxPermSize=512m'
Java 17 with Maven Wrapper results in Unrecognized VM option 'MaxPermSize=512m'
我用的是OpenJDK 17 with Maven Wrapper 3.8.2 from Spring Initializr(Maven项目,JAR打包,Java17,SpringBoot 2.6.0)。没有额外的依赖。
user@DESKTOP-U2OU5HG MINGW64 /c/Projects/my-project (master)
$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
在 运行 宁 ./mvnw.cmd -version
或 ./mvnw.cmd clean install
时,我总是收到以下消息:
Unrecognized VM option 'MaxPermSize=512m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
切换到 OpenJDK 16.0.2 可以解决问题,但是,我需要使用 Java 17.
如何获得运行?没有设置MaxPermSize=512m
.
确实-XX:MaxPermSize=size
根据Java®Development Kit Version 16/17 Tool Specifications(见链接)标记如下:
然而,mvnw.cmd
脚本中的 Maven Wrapper 除了必需的 JAVA_HOME
之外,还使用了一堆 可选的 环境变量,例如 M2_HOME
并且这些以 MAVEN_
前缀开头。
重要的是 MAVEN_OPTS
,其中可能会出现这样一个已删除的 Java 选项,导致无法在较新版本上启动 JVM。就我而言,我有类似的东西:
MAVEN_OPTS="-Xmx4g -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Djavax.xml.accessExternalSchema=all"
解决方案是从环境变量中删除选项或将此行添加到 Maven Wrapper 脚本以覆盖 MAVEN_OPTS
值,最小形式:
MAVEN_OPTS=
我用的是OpenJDK 17 with Maven Wrapper 3.8.2 from Spring Initializr(Maven项目,JAR打包,Java17,SpringBoot 2.6.0)。没有额外的依赖。
user@DESKTOP-U2OU5HG MINGW64 /c/Projects/my-project (master) $ java -version openjdk version "17" 2021-09-14 OpenJDK Runtime Environment (build 17+35-2724) OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
在 运行 宁 ./mvnw.cmd -version
或 ./mvnw.cmd clean install
时,我总是收到以下消息:
Unrecognized VM option 'MaxPermSize=512m' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
切换到 OpenJDK 16.0.2 可以解决问题,但是,我需要使用 Java 17.
如何获得运行?没有设置MaxPermSize=512m
.
确实-XX:MaxPermSize=size
根据Java®Development Kit Version 16/17 Tool Specifications(见链接)标记如下:
然而,mvnw.cmd
脚本中的 Maven Wrapper 除了必需的 JAVA_HOME
之外,还使用了一堆 可选的 环境变量,例如 M2_HOME
并且这些以 MAVEN_
前缀开头。
重要的是 MAVEN_OPTS
,其中可能会出现这样一个已删除的 Java 选项,导致无法在较新版本上启动 JVM。就我而言,我有类似的东西:
MAVEN_OPTS="-Xmx4g -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Djavax.xml.accessExternalSchema=all"
解决方案是从环境变量中删除选项或将此行添加到 Maven Wrapper 脚本以覆盖 MAVEN_OPTS
值,最小形式:
MAVEN_OPTS=