操作系统:Windows 10
java :11.0.1
我设置环境变量
set JAVA_HOME=<null>
set CLASSPATH=<null>
set PATH='d:\java\jdk-11.0.1\bin
正在运行的 cmd版本
正在运行的 cmd
java -version
返回此错误: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.(java.base/String.java:592) at java.lang.String.(java.base/String.java:614) at java.lang.System.initProperties(java.base/Native Method) at java.lang.System.initPhase1(java.base/System.java:1942)
我试试
java -Dfile.encoding=UTF-8
同样的错误我的 jdk8 没问题
我的 jdk 11 在公司电脑上没问题
什么?
最佳答案
此问题可以在安装了 gb18030 支持包的简体中文 Windows 中重现。
我用进程监视器跟踪它,看到进程以一些缓冲区溢出错误结束,同时加载名为 simsun gb18030 的字体文件(类似这样,我记不太清楚了。)
JDK 11 之后的任何版本的热点 jvm 都存在此问题。
但是对于 j9 vm,没有问题。
关于java jvm 11 不启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53079179/