当前位置: 首页 > 知识库问答 >
问题:

带有Maven包装器的Java 17导致无法识别的VM选项'maxPermsize=512m'

葛奇
2023-03-14

我使用OpenJDK 17和来自Spring Initializr的Maven Wrapper 3.8.2(Maven project,JAR packaging,Java17,Spring Boot 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)
Unrecognized VM option 'MaxPermSize=512m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

怎么让它运转起来?没有maxpermsize=512m集。

共有1个答案

杨超
2023-03-14

实际上,-xx:maxpermsize=size根据Java®开发工具包第16版工具规范标记如下(请参见链接):

  • 对于Java 16来说,它已经过时了。
  • 对于Java 17它被删除。

然而,mvnw.cmd脚本中的Maven包装器除了必需的java_home外,还使用了一系列可选的环境变量,如m2_home和以maven_前缀开头的变量。

-Xmx4g -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 -Djavax.xml.accessExternalSchema=all

解决方案是从环境变量中删除该选项,或者将这一行添加到Maven包装器脚本中,以重写Maven_opts值:

  • 最小形式:maven_opts=
 类似资料:
  • 我试图使用命令<code>yarn android</code>编译我的react原生代码,但它在终端上显示了这个错误。我正在使用Linux Pop_OS 21.04和Visual Studio代码。 我已经尝试了一些解决方案,但没有一个奏效。提前谢谢你!

  • 无法识别的VM选项'maxpermsize=256m'错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 我读了这篇文章,尝试了所有的方法来解决它,但都无济于事。我确实注意到他的错误与我的有些不同,并认为这可能是为什么我不能用建议的方法解决我的问题。 当我在终端上执行。sh文件时,它打印了:

  • 当我试图操纵齐柏林飞艇 或 我收到以下错误消息。 Java 9安装在我的系统(Ubuntu 16.04)上。

  • 我试着用这个命令运行react native app。 但是我收到这个错误消息。我想在我的机器上运行多个java版本。我该怎么做?我也不想更改MaxPermSize=512m。我想保持MaxPermSize=512m。 如何修复此错误?

  • 我正在尝试在我的机器中设置weblogic。我下载自http://www.oracle.com/technetwork/middleware/ias/downloads/wls-main-097127.html. 我的PATH是这样的,C:\Program Files\Java\jdk1.5.0_22\bin; cmd提示符中的Java版本给出了这一点, C: \设置 现在,当我使用oracle文

  • 此项目的项目JDK是通过IntelliJ(OpenJDK)下载的。 项目语言级别为14。 模块语言级别为14。 目标字节码设置为14。 Maven的Runner JRE被设置为相同的项目JDK(不是通过JAVA_HOME环境变量)。 Intellij终端中提供的Javac版本为 IntelliJ终端中给出的Java版本是 Maven本身没有与Intellij单独安装在我的计算机上。 项目是一个模块