2

我收到此错误 + >

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    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.openal.AL.<clinit>(AL.java:59)
    at org.newdawn.slick.openal.SoundStore$1.run(SoundStore.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.newdawn.slick.openal.SoundStore.init(SoundStore.java:292)
    at org.newdawn.slick.Music.<init>(Music.java:128)
    at org.newdawn.slick.Music.<init>(Music.java:74)
    at com.meteor.breaker.AudioPlayer.load(AudioPlayer.java:21)
    at com.meteor.breaker.Game.<init>(Game.java:35)
    at com.meteor.breaker.Game.main(Game.java:55)
C:\Users\Hardi\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

我已经搜索了一天,找不到任何可行的解决方案。

我正在使用 lwjgl,它的本机库在路径中

"F:\Khushit Java\Meteor Breaker\lib\windows"

在 windows 文件夹中存在 lwjgl.dll。

我接受了一个 VM 选项:- 这是写

-Djava.library.path="F:\Khushit Java\Meteor Breaker\lib\windows"

这适用于在 ide 上运行它。 但是当我运行罐子时它不起作用。

所以,我想出了一个解决方案:- 加载库运行时:-

System.setProperty("java.library.path",<path>);

   static{
                     File l = new File("lib/windows");
                    System.setProperty("java.library.path",l.getAbsolutePath());
                    System.out.println("static:" + System.getProperty("java.library.path"));

                }

真正的问题来了

如果我使用 vm(First method) 选项打印System.getProperty("java.library.path"),我会得到路径:

F:\Khushit Java\Meteor Breaker\lib\windows

如果我使用运行时链接(第二种方法)打印System.getProperty("java.library.path"),我也会得到相同的路径:

F:\Khushit Java\Meteor Breaker\lib\windows

这只是意味着 java.library.path 没问题,那么我也遇到了错误。

4

0 回答 0