我从 Minecraft 1.16.2 更新到 Minecraft 的最新版本 1.18.1,打开 Minecraft Launcher 客户端,从下拉列表中选择“最新版本 1.18.1”,点击“播放”按钮,然后收到一条错误消息“发生了 jni 错误”(还有一个通用的 java 错误和随后的崩溃)。
在 Windows 10 家庭版、64 位、版本 21H2、内部版本 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 的 env 变量,我只有这些:
系统属性:高级:环境变量:
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
• 在添加/删除程序对话框中卸载了所有我的世界,重新安装了所有内容(当然,在多次尝试之间重新启动了启动器和计算机)。
• 认为“更新 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 的标识如下:
*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 Launcher 的下拉列表中选择 Minecraft 1.16.2,它仍然可以正常启动。
Minecraft 的“jni 错误已发生”消息和崩溃可以在这种情况下解决,只需删除 Minecraft 启动器中的条目:安装选项卡:最新版本:更多选项:Java 可执行文件:
C:\Program Files\Java\jre[version]\bin\javaw.exe
然后它将显示此灰色消息:
<Use bundled java runtime>
(在运行以前版本的启动器时,至少某些用户需要在其中包含 JRE 的路径,因此在某种程度上,将其更新为明显的值会导致问题。)
之后 Minecraft Launcher 启动了 Minecraft 1.18.1 对我来说很好。