如何修复java.lang.UnsatisfiedLinkError: lwjgl64.dll : Access Denied错误?拼图解决方案

697 阅读5分钟

你可以通过禁用你的反病毒软件和运行来解决java.lang.UnsatisfiedLinkError: lwjgl64.dll : Access Denied错误在Minecraft。后来你可以把lwjgl64.dll列入白名单,这样你的反病毒软件就不会再阻止它。我已经在这个博客上谈论过几次java.lang.UnsatisfiedLinkError,例如这里这里。但是,今天我将向你展示java.lang.UnsatisfiedLinkError的另一个真实例子,它更有趣。我们还将学习以及如何处理这个问题。这个问题与Minecraft有关,它是用Java编写的最流行的游戏之一。准确地说,我们将解决"线程 "main "中的异常 "java.lang.UnsatisfiedLinkError:lwjgl64.dll。访问被拒绝 "的错误。

如果你记得,Minecraft使用 lwjgl库,它是Java世界中最流行的游戏库之一。这个库有一些编写的本地组件,以获得对本地资源和GPU的访问,并提供一个游戏所需的性能。这个库的本地组件之一是 lwjgl64.dll,它是64位计算机所需要的。

由于Minecraft是一个Java程序,它在运行时动态加载这个文件,如果它没有找到或无法加载这个库,就会抛出lwjgl64.dll访问被拒绝的错误并崩溃。为了解决这个问题,你需要首先确认lwjgl64.dll的存在,然后找出Minecraft,一个Java程序不能访问这个文件的原因。这就是我们在这篇文章中要做的。

而且,如果你是Java世界的新手,那么我还建议你通过这些免费的Java编程课程,以更好、更有条理的方式学习Java。这是一个最好的和最新的在线学习Java的课程。

How to solve java.lang.UnsatisfiedLinkError: lwjgl64.dll : Access Denied in Minecraft game

java.lang.UnsatisfiedLinkError的原因:lwjgl64.dll:拒绝访问

昨天,我收到一封来自我的一个读者(Tanja)的电子邮件,说明启动Minecraft的问题,并要求我帮助看看是否存在任何解决方案。以下是确切的电子邮件,感谢Tanja允许我将其张贴在这里供其他人参考。

嗨,Javin。

my sons (11 and 12) play Minecraft with a Passion.不幸的是,我们有一个严重的问题,我们不能解决。We have deinstalled Java and Minecraft and reinstalled both and Keep getting the following error message:

线程 "main "中出现异常 java.lang.UnsatisfiedLinkError。C:\Users\Tanya Ebbecke\AppData\Roaming\.minecraft\versions\1.8.9\1.8.9-natives-1218511680787\lwjgl64.dll:读取数据

at java.lang.ClassLoaderNativeLibrary.load(NativeMethod)atjava.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)atjava.lang.ClassLoaderloadLibrary(ClassLoader.java:1847)atjava.lang.Runtime.loadLibrary0(Runtime.java:870)atjava.lang.System.loadLibrary(System.java:1119)atorg.lwjgl.SysNativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929) at java.lang.ClassLoader。loadLibrary(ClassLoader.java:1847) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1119) at org.lwjgl.Sys1.run(Sys.java:72)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
at org.lwjgl.Sys.loadLibrary(Sys.java:87)
at org.lwjgl.Sys. (Sys.java:117)
at ave.J(SourceFile:2539)
at net.minecraft.client.main.main(SourceFile:41)

Java HotSpot(TM) 64-Bit Server VM 警告。使用增量 CMS 已被废弃,并可能在未来的版本中被删除

有什么办法可以让我们开始工作吗?

如果可能的话,我将非常感谢您的帮助。

当我第一次看到这个错误时,我无法弄清确切的错误信息 "lwjgl64.dll:Zugriff verweigert"。我知道这是**"exception in thread "main" java.lang.UnsatisfiedLinkError",而且与一个本地库有关,但 "Zugriff verweigert "是什么?我花了一些时间,Tanja来自德国,"Zugriff verweigert "的意思是"访问被拒绝"**(我知道我的德语很差)。

我过去也遇到过这种错误,一个文件存在,但没有阅读权限,或者一些程序阻止了对它的访问,所以我向Tanja建议了两个解决方案。

你好,Tanja。

看来Minecraft没有得到它所需的本地库来运行。

Zugriff verweigert means I guess "Access Denied", my german is not good :-)

到 "C:\Users\Tanya Ebbecke\AppData\Roaming\.minecraft\versions\1.8.9\1.8.9-natives-1218511680787\lwjgl64.dll "的位置,检查这个文件是否为只读。

另外,检查你的防病毒软件是否阻止了对这个文件的访问,在禁用防病毒软件后运行Minecraft。

让我们看看它是否解决了这个问题

干杯
Javin

,奇迹般地发现他的防病毒软件阻止了对"lwjgl64.dll "本地库的访问,这是Minecraft游戏引擎所要求的。

How to solve Minecraft - java.lang.UnsatisfiedLinkError: lwjgl64.dll : Access Denied error

第二天早上,我非常高兴地看到Tanja的以下电子邮件

你好,Javin!

你是个明星。我们把杀毒软件关掉,它就成功了;-)

非常感谢你的帮助!

All the best
Tanja

SinceMinecraftis one of the most popular Java games, I expect other people also have similar problems faced in past or will face in the future, and the thought of converting this email to a blog post struck to me.值得庆幸的是,Tanja对此没有异议,在这里,博文就在这里。

顺便说一下,如果你是一个Java开发者,在处理本地库时遇到java.lang.UnsatisfiedLinkError,那么你也应该看看这些Java在线课程,了解更多关于如何在Java程序中使用本地库。

所以,如果你在玩《Minecraft》时无法启动,并不断得到**"Exception in thread "main" java.lang.UnsatisfiedLinkError:.minecraft\versions\1.8.9\1.8.9-natives-1218511680787\lwjgl64.dll。拒绝访问 "的错误,即使在卸载和重新安装了Java和Minecraft之后,尝试在禁用你的防病毒软件之后运行Minecraft。它可能是杀毒软件阻止访问"lwjgl64.dll "**Minecraft游戏所需的本地库。

再次大感谢Tanja与我们分享他的经验。我希望它一定会帮助其他Minecraft粉丝。

解决常见错误的其他 Java调试和故障排除指南

谢谢你阅读这篇文章,如果这篇文章解决了你的问题,那么请在社交媒体上与你的朋友分享。如果你的问题还没有解决,请留言说明详情。