如何在 Windows 10 中 Minecraft 和 Java 更新后克服“发生 jni 错误”?

如何在 Windows 10 中 Minecraft 和 Java 更新后克服“发生 jni 错误”?

我从 Minecraft 1.16.2 更新到此时的 Minecraft 最新版本 1.18.1,打开 Minecraft Launcher 客户端,从下拉菜单中选择“最新版本 1.18.1”,点击“播放”按钮,然后收到一条错误消息“发生 jni 错误”(以及随后的一般 java 错误和崩溃)。

运行于 Windows 10 Home、64 位、版本 21H2、Build 19043.1415,配备 Intel i7。


到目前为止尝试了很多方法。这是我的当前设置状态:

据我所知,我现在只有这些包含 Java 可执行文件的文件夹:

C:\Program Files\Java\jdk-17.0.1\bin

C:\Program Files\Java\jre1.8.0_311\bin

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

C:\ProgramData\Oracle\Java\javapath

C:\Users\[USER]\AppData\Local\Packages\Microsoft.4297127D64EC6_8wekyb3d8bbwe\LocalCache\Local\runtime\jre-legacy\windows-x64\jre-legacy\bin

至于提到 java、jdk 或 jre 的环境变量,我只有这些:

系统属性:高级:环境变量:

JAVA_HOME=C:\Program Files\Java\jdk-17.0.1

Path=C:\Program Files\Java\jdk-17.0.1\bin

Minecraft Launcher 有以下设置:

安装选项卡:最新版本:更多选项:Java 可执行文件:

C:\Program Files\Java\jre1.8.0_311\bin\javaw.exe

从命令提示符...

C:\Users\[user]>javac -version
javac 17.0.1

C:\Users\[user]>java -version
java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

到目前为止我尝试过的其他事物的一些亮点:

• 尝试使用 ecosia 和超级用户搜索来查找错误消息,但这些解决方案基本上只是“更新 java”。

• 使用 Java 控制面板更新 Java,如此处所述,它为我带来了一个新的 JRE:

https://java.com/en/download/help/win_controlpanel.html

• 在“添加/删除程序”对话框中卸载了所有 minecraft,然后重新安装了所有程序(当然,在多次尝试之间多次重新启动了启动器和计算机)。

• 觉得“更新 java”可能有点模糊,所以我也去获取了一个新的 JDK:

https://www.oracle.com/java/technologies/downloads/#jdk17-windows

• 从这里下载:

https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe

不确定命名约定为何改变:以前是,jdk-1.8.0_152但现在是jdk-17.0.1。我想,没什么大不了的。

• 在此更新之前,Minecraft 启动器有一个可见的 EXE 和各种文件和文件夹(以及与 jni 相关的错误的相关解决方法,其中提到捆绑,我认为这影响了启动器本身),但当前版本缺少可见的 EXE 和文件夹,因此我看不到再尝试此类解决方法的方法。

我相信这是这里提到的“捆绑”版本:

https://www.windowscentral.com/minecraft-pc-bundle-announced

Minecraft 启动器自我标识如下:

*Launcher for Windows* 
Windows 10.0 2.2.8542
Thursday, December 16, 2021, 7:53:50 PM
02b800b20f858c2d92d48bd57b1ae2bc5773f175
*Bootstrap* 
113
Friday, December 17, 2021, 3:52:10 PM
7fbe7a8a2670ec54ab3a005aaa0ee0bf311fd9f7
*UI* 
8375
Thursday, December 16, 2021, 7:44:31 PM
02b800b20f858c2d92d48bd57b1ae2bc5773f175

“报告启动器错误”链接指向https://bugs.mojang.com由于此问题我无法访问:

bugs.mojang.com 上的 Google Authenticator 无限循环


这些似乎都没有任何效果。错误仍然存​​在。

我尝试获取如下崩溃报告...

https://minecraft.fandom.com/wiki/Tutorials/How_to_get_a_crash_report

...但没有任何最近一天的任何类型的崩溃报告(.txt 或 .log)。

有趣的比较:

如果我告诉启动器使用java.exe而不是javaw.exe我不会收到 jni 错误消息,但 Minecraft 仍然会立即崩溃。

如果我在 Minecraft 启动器的下拉列表中选择 Minecraft 1.16.2,它仍然可以正常启动。

答案1

在这种情况下,可以通过简单地删除 Minecraft 启动器中的条目来解决 Minecraft 的“发生 jni 错误”消息和崩溃:安装选项卡:最新版本:更多选项:Java 可执行文件:

C:\Program Files\Java\jre[version]\bin\javaw.exe

然后它将显示以下灰色消息:

<Use bundled java runtime>

(运行以前版本的启动器时,至少某些用户需要在其中包含 JRE 的路径,因此在某种程度上,只需将其更新为明显的值就会导致问题。)

之后,Minecraft Launcher 可以顺利启动 Minecraft 1.18.1。

相关内容