获得';java.lang.UnsatifiedLinkError';:java.library.path中没有lwjgl

获得';java.lang.UnsatifiedLinkError';:java.library.path中没有lwjgl,java,eclipse,lwjgl,Java,Eclipse,Lwjgl,注意,这与Eclipse不同,因为它不处理链接,因为它不是询问如何通过CLI链接它,而是询问Eclipse中的GUI 我一直在尝试使用LWJGL编写一个简单的程序。当我将库添加到Eclipse(Windows 7 64位上的开普勒4.3.1)并编写程序时,它不会在使用LWJGL的东西下面显示红色的曲线。但是,尝试运行它会给我以下stacktrace: Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in ja

注意,这与Eclipse不同,因为它不处理链接,因为它不是询问如何通过CLI链接它,而是询问Eclipse中的GUI

我一直在尝试使用LWJGL编写一个简单的程序。当我将库添加到Eclipse(Windows 7 64位上的开普勒4.3.1)并编写程序时,它不会在使用LWJGL的东西下面显示红色的曲线。但是,尝试运行它会给我以下stacktrace:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl 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:73)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
    at org.lwjgl.Sys.loadLibrary(Sys.java:95)
    at org.lwjgl.Sys.<clinit>(Sys.java:112)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at DisplayExample.start(DisplayExample.java:8)
    at DisplayExample.main(DisplayExample.java:23)
线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有lwjgl 位于java.lang.ClassLoader.loadLibrary(未知源) 位于java.lang.Runtime.loadLibrary0(未知源) 位于java.lang.System.loadLibrary(未知源) 位于org.lwjgl.Sys$1.run(Sys.java:73) 位于java.security.AccessController.doPrivileged(本机方法) 位于org.lwjgl.Sys.doLoadLibrary(Sys.java:66) 位于org.lwjgl.Sys.loadLibrary(Sys.java:95) 位于org.lwjgl.Sys(Sys.java:112) 在org.lwjgl.opengl.Display上(Display.java:135) 在DisplayExample.start(DisplayExample.java:8) main(DisplayExample.java:23) (是的,这是他们首先给出的示例,但我想运行它以确保所有内容都已正确安装)


我的问题是,如何修复此错误?注意,即使在Eclipse中运行,它仍然会失败。如果我运行其他不使用LWJGL的东西,它也会工作。我只是从互联网上下载的-它只有一个版本,所以我认为它是正确的。从我所看到的情况来看,没有一个提问者的错误与我相同——但是如果你能给我指出一些信息性的问题,那也会很有帮助。

我在学习教程,看起来我没有做添加本地人的步骤,或者我做得不正确

按照该链接中的说明操作,问题应得到解决:

通过单击lwjgl.jar文件旁边的小箭头来显示下拉列表,可以完成此操作。双击“本机库位置”,选择包含操作系统本机文件的文件夹,然后单击“确定”。这些文件位于LWJGL下载包中的natives文件夹中(例如,在Windows上,您指向包含*.dll文件的natives\Windows文件夹;在Mac上,您指向natives/macosx文件夹;在Linux上,您指向natives/Linux文件夹)


您没有在LWJGL应用程序中设置本地人

以下是如何做到这一点:

  • 转到LWJGL文件夹,其中包含名为“jar”、“res”、“doc”和“native”的文件夹。您需要进入Eclipse(假设您使用Eclipse),在屏幕左侧的project Explorer中打开您的项目
  • 右键单击项目的“JRE系统库”,然后单击“构建路径”->“配置构建路径”
  • 通过单击JRE系统库下拉菜单中的“本机库位置”,将LWJGL本机库包含到构建路径配置器中的项目中
  • 单击“编辑…”,这将是该常规区域中唯一可单击的按钮
  • 将弹出一个文件资源管理器。导航到LWJGL本机文件夹的位置(如果您使用的是Windows,则该位置应类似于“C:\Users\YOURUSERNAMEHERE\Desktop\Java\eclipse\LWJGL-2.9.0\native”,并包含名为[your OS here]的文件夹)

  • 希望这有帮助:)

    如果您尝试运行以下代码:

    public static void main(String... args){
        System.out.println(System.getProperty("java.library.path"));
    }
    
    您应该得到如下输出: /Users/yourName/.sdkman/candidates/java/8.0.252.j9 adpt/jre/lib/compressedrefs:/Users/yourName/.sdkman/candidates/java/8.0.252.j9 adpt/jre/lib:/usr/lib

    因此,您只需要下载LWJGL库并将位于“…native/yourOSname”的文件复制到其中一个文件夹中


    这对我很管用

    我想你已经看过这个了?@S.R.I我刚才自己就知道了。。。我觉得自己很愚蠢,没有看教程。谢谢,尽管不用担心,我们都有愚蠢的时刻。:-)接受你的答案而不是我的,因为你的答案信息更丰富。这为我解决了这个问题。我试图从Eclipse编译Minecraft它有自己的lwjgl库/本地版本,但这不起作用——看起来它没有DirectX DLL我刚刚下载了最新的一个,并将其解压缩到我的
    c:\ProgramFiles\java\jre7\lib\lwjgl-2.9.1
    ,然后按照上面的说明进行操作,效果非常好。非常感谢。对于IntelliJ用户,右键单击“外部库”下的“lwjgl.jar”,单击“打开库设置”->“模块”。选择“lwjgl.jar”,单击右窗格上的“编辑”按钮[看起来像铅笔]。单击新窗口中的“添加”按钮,然后在“lwjgl”安装位置的“本机”文件夹/目录(例如/native/windows/lwjgl.dll)中选择操作系统的软件包。