我需要在本地安装JDK11,电脑是WIN7系统64位,安装完成之后,配置好了JAVA_HOME和path之后,cmd窗口输入JAVA,显示以下的错误提示:
C:\Users\Administrator>java
Error occurred during initialization of VM
java.lang.IllegalArgumentException: Null charset name
at java.nio.charset.Charset.lookup(java.base/Charset.java:455)
at java.nio.charset.Charset.defaultCharset(java.base/Charset.java:608)
at java.lang.StringCoding.decode(java.base/StringCoding.java:316)
at java.lang.String.<init>(java.base/String.java:592)
at java.lang.String.<init>(java.base/String.java:614)
at java.lang.System.initProperties(java.base/Native Method)
at java.lang.System.initPhase1(java.base/System.java:1942)
非常紧急需要安装成功,请求各位大神帮忙!
环境变量配置的有问题,检查一下
怎么解决的
我也遇到了完全一样的问题,参见这个windows - java jvm 11 don't start - Stack Overflow:
内容大概说的是,简中版的Windows安装了GB18030字符集支持,就会出现这个问题;JDK 11之后的版本都会有这个问题
换用JDK 8 应该就没有问题了。
其他解决方案我还不清楚,不用简体中文版的Windows应该能解决问题;可以使用Win 10并尝试启用UTF-8支持,但是又可能会有一些其他问题。
已破案:这个bug好像最近刚被修复,但是二进制build还没发布;
因此现有的解决方案有两种,一种是用JDK 8,另一种是把JVM从Hotspot换成OpenJ9的。
可以在AdoptOpenJDK下载到所需要的JDK:AdoptOpenJDK提供两种JVM可供选择,也就是Hotspot和OpenJ9,选择OpenJ9的版本即可:AdoptOpenJDK - Open source, prebuilt OpenJDK binaries
参考链接: