Java错误在路径中没有lwjgl64



我正在尝试制作一个游戏,它在eclipse中运行良好,但当我导出并运行它作为jar文件时,我得到这个错误。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl64 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.lwjgl.Sys$1.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.<clinit>(Sys.java:117)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)
    at ultra.game.core.MainGame.main(MainGame.java:1827)

我已经尝试了很多事情。我将本机位置设置为本机文件夹并检查了内部,发现lwjgl64在那里。任何帮助吗?

LWJGL使用自己的变量作为本机库的路径:

System.setProperty("org.lwjgl.librarypath", new File("pathToNatives").getAbsolutePath());

如果您保留了LWJGL包中的文件结构,您可以使用如下内容:

switch(LWJGLUtil.getPlatform())
{
    case LWJGLUtil.PLATFORM_WINDOWS:
    {
        JGLLib = new File("./native/windows/");
    }
    break;
    case LWJGLUtil.PLATFORM_LINUX:
    {
        JGLLib = new File("./native/linux/");
    }
    break;
    case LWJGLUtil.PLATFORM_MACOSX:
    {
        JGLLib = new File("./native/macosx/");
    }
    break;
}
System.setProperty("org.lwjgl.librarypath", JGLLib.getAbsolutePath());

这意味着您没有名为"lwjgl64"的本机库,以便Java可以找到并加载它,或者您正在使用32位JVM并且正在尝试加载64位本机库(反之亦然)-如果您想使用本机库,它们必须具有与您正在使用的JVM相同的"位"。

在Windows上,本机库将位于文件lwjgl64.dll;在Mac OS X或其他类unix系统上,它将是lwjgl64.so。找到这个文件,然后在启动程序时使用-D选项设置系统属性java.library.path,例如:

java -Djava.library.path=C:MyProjectlib com.mypackage.MyProgram

其中C:MyProjectlib为包含DLL的目录

最新更新