jdk-14.0.1 初始化 VM 时出错 java.lang.NullPointerException

jdk-14.0.1 Error occurred during initialization of VM java.lang.NullPointerException

我在我的电脑上安装了 jdk-14.0.1 并为此设置了环境变量,当我给 命令 javajava -version 它给出以下异常。

Error occurred during initialization of VM
java.lang.NullPointerException
        at java.lang.System.getProperty(java.base/System.java:850)
        at sun.security.action.GetPropertyAction.privilegedGetProperty(java.base/GetPropertyAction.java:105)
        at java.nio.charset.Charset.defaultCharset(java.base/Charset.java:605)
        at java.lang.StringCoding.decode(java.base/StringCoding.java:329)
        at java.lang.String.<init>(java.base/String.java:610)
        at java.lang.String.<init>(java.base/String.java:632)
        at jdk.internal.util.SystemProps$Raw.vmProperties(java.base/Native Method)
        at jdk.internal.util.SystemProps$Raw.cmdProperties(java.base/SystemProps.java:253)
        at jdk.internal.util.SystemProps.initProperties(java.base/SystemProps.java:55)
        at java.lang.System.initPhase1(java.base/System.java:2002)

我的系统配置是这样的-

  1. 内存:8.00 GB(可用 7.89 GB)
  2. OS: windows 10.
  3. 处理器:英特尔(R) 酷睿 i5-8265U。
  4. 系统类型:64 位操作系统,基于 x64 的处理器。

如果您的默认区域设置为代码页 65001 - UTF-8,就会*发生这种情况。

到 "fix" 这个 Windows 10:

  • 打开控制面板
  • Select "Region"
  • 转到 "Administrative" 选项卡
  • 单击 "Change system locale" 按钮
  • 取消选中 "Beta: Use Unicode UTF-8 for worldwide support"。
  • 保存。您应该会收到重新启动计算机的提示。这样做。

* 然而,它不应该。

windows10 的解决方案:

打开命令提示符(CMD)

  1. 打开命令提示符。
  2. 键入 chcp 并按 Enter。
  3. 如果 chcp 命令的输出是:活动代码页:65001 然后:转到控制面板 -> 区域 -> "Administrative" 选项卡 -> 更改系统区域设置 -> 取消选中 "Beta: Use Unicode UTF-8 for worldwide support".
  4. 重新启动您的电脑。
  5. 再次检查 'beta' 本地系统,如果未选中则一切正常。
  6. 如果再次选中,请尝试将您的母语更改为英语。

对于那些代码页不是65001但遇到同样问题的人。建议尝试 openjdk 14。它对我有用。