Java Virtual Machine Manager无法创建Java Virtual Machine报错如何解决?
错误:无法创建Java Virtual Machine。错误:已发生致命异常,程序将退出。控制台错误:已加载_JAVA_OPTIONS: -Xmx512M 无法识别的选项:-Xincgc
错误原因
-Xincgc是JDK 8及更早版本专属的JVM启动参数,作用是启用增量式垃圾回收器,该参数从JDK 9开始被标记为废弃,JDK 14及后续版本已经完全从JVM中移除,高版本JVM遇到无法识别的启动参数会直接终止启动,抛出上述错误。- 报错中提到的
_JAVA_OPTIONS是系统级的全局环境变量,说明该废弃参数被配置在了全局JVM默认参数中,所有Java程序启动时都会默认加载该配置,只要使用JDK 14+版本运行就会触发报错。
解决方案
方案1:不需要使用增量垃圾回收器的场景(推荐)
- 修改全局
_JAVA_OPTIONS环境变量,删除其中的-Xincgc参数即可:- Windows系统:打开「系统属性-高级-环境变量」,在用户变量/系统变量中找到
_JAVA_OPTIONS条目,删除值中的-Xincgc字段,保存后重启命令行或应用程序即可生效。 - Linux/macOS系统:依次检查
~/.bashrc、~/.zshrc、~/.bash_profile、/etc/profile等配置文件,找到export _JAVA_OPTIONS="xxx"的配置行,删除其中的-Xincgc参数,保存后执行source 对应配置文件路径即可生效。
- Windows系统:打开「系统属性-高级-环境变量」,在用户变量/系统变量中找到
- 如果临时需要启动程序、不方便修改全局配置,可以在启动命令前手动覆盖
_JAVA_OPTIONS的取值,例如启动Jar包的命令调整为:_JAVA_OPTIONS="-Xmx512M" java -jar 你的应用包名.jar
方案2:必须使用增量垃圾回收器的场景
将运行环境的JDK版本降级到JDK 8及更早版本,该版本原生支持-Xincgc参数,不会触发识别错误。
内容的提问来源于stack exchange,提问作者Chan does things
相关产品推荐
相关产品推荐

