简体   繁体   English

带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

[英]Java 17 with Maven Wrapper results in Unrecognized VM option 'MaxPermSize=512m'

I use OpenJDK 17 with Maven Wrapper 3.8.2 from Spring Initializr (Maven project, JAR packaging, Java 17, Spring Boot 2.6.0).我使用OpenJDK 17Spring Initializr的 Maven Wrapper 3.8.2(Maven 项目、JAR 打包、Java 17、Spring Boot 2.6.0)。 No additional dependencies.没有额外的依赖。

 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)

Upon running any of ./mvnw.cmd -version or ./mvnw.cmd clean install , I always get the following message:在运行任何./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.

Switching to OpenJDK 16.0.2 resolves the issue, however, I need to work with Java 17.切换到OpenJDK 16.0.2解决了这个问题,但是,我需要使用 Java 17。

How to get it run?如何让它运行? There is nowhere MaxPermSize=512m set.没有设置MaxPermSize=512m

Indeed -XX:MaxPermSize=size is labelled as follows according to Java® Development Kit Version 16/17 Tool Specifications (see the links):实际上-XX:MaxPermSize=size根据 Java® Development Kit Version 16/17 Tool Specifications 标记如下(请参阅链接):

The Maven Wrapper in the mvnw.cmd script, however, aside from the required JAVA_HOME , uses also a bunch of optional environment variables such as M2_HOME and these starting with MAVEN_ prefix.然而, mvnw.cmd脚本中的 Maven 包装器,除了必需的JAVA_HOME之外,还使用了一堆可选的环境变量,例如M2_HOME和这些以MAVEN_前缀开头的变量。

The important one is MAVEN_OPTS where such a removed Java option can appear causing the inability to start the JVM on the newer version.重要的是MAVEN_OPTS ,其中可能会出现这样一个已删除的 Java 选项,从而导致无法在较新版本上启动 JVM。 In my case, I had something like:就我而言,我有类似的东西:

MAVEN_OPTS="-Xmx4g -XX:MaxPermSize=512m -Dfile.encoding=UTF-8"

The solution is either to remove the option from the environment variables or add this line to the Maven Wrapper script to override the MAVEN_OPTS value, In the minimal form:解决方案是从环境变量中删除选项或将此行添加到 Maven Wrapper 脚本以覆盖MAVEN_OPTS值,以最小形式:

MAVEN_OPTS=

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 运行Zeppelin时无法识别的VM选项'MaxPermSize = 512m' - Unrecognized VM option 'MaxPermSize=512m' when running Zeppelin 运行 React Native Apps 时无法识别 VM 选项“MaxPermSize=512m”并且无法创建 Java 虚拟机 - Unrecognized VM option 'MaxPermSize=512m' and Could not create the Java Virtual Machine when running React Native Apps 运行Maven测试时Jenkins Java VM错误-无法识别的VM选项'MaxPermSize-128m' - Jenkins Java VM error when running a Maven test - Unrecognized VM option 'MaxPermSize-128m' 在Linux Mint中打开Eclipse时出错; OpenJDK 64位服务器VM警告:忽略选项MaxPermSize = 512m; 在8.0中删除了支持 - Error opening Eclipse in Linux Mint; OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0 Android Studio - 无法识别的 VM 选项“MaxPermSize=256m” - Android Studio - Unrecognized VM option 'MaxPermSize=256m' Jenkins不以-Xrs -Xmx2048m -XX:MaxPermSize = 512m开头(Windows) - Jenkins does not start with -Xrs -Xmx2048m -XX:MaxPermSize=512m (windows) 需要检查MaxPermSize:无法识别的VM选项 - Need to check MaxPermSize : Unrecognized VM option [react-native][Xcode 13.1] 无法识别的 VM 选项 'MaxPermSize=4096m' Mac M1 (Monterey) - [react-native][Xcode 13.1] unrecognized VM option 'MaxPermSize=4096m' Mac M1 (Monterey) Java“无法识别的VM选项” - Java “Unrecognized VM Option” OpenJDK 64位服务器VM警告:忽略选项MaxPermSize = 350m; - OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m;
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM