我的java游戏在eclipse中运行,但一旦导出它就无法找到LWJGL"并且不会跑

时间:2014-03-19 12:10:12

标签: java eclipse lwjgl

我在eclipse中制作了一个Java游戏,当我运行可执行文件.jar时,它启动,加载屏幕启动,但随后停止并挂起。我使用命令行运行它:" Java -jar filename.jar"当加载屏幕停止时,它会显示错误。这就是cmd显示的内容:

E:\>Java -jar Speedrunner.jar
60Ticks, FPS:1447
60Ticks, FPS:1627
60Ticks, FPS:1380
Wed Mar 19 12:02:27 GMT 2014 INFO:Initialising sounds..
Exception in thread "Thread-2" 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.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.Sound.<init>(Sound.java:83)
    at com.daves.first_Scroller.utils.AudioPlayer.addSound(AudioPlayer.java:29)
    at com.daves.first_Scroller.utils.ResourceLoader.loadSounds(ResourceLoader.java:35)
    at com.daves.first_Scroller.Game.load(Game.java:110)
    at com.daves.first_Scroller.Game.tick(Game.java:160)
    at com.daves.first_Scroller.Game.run(Game.java:228)
    at java.lang.Thread.run(Unknown Source)

这就是说LWJGL不在java.library.path中我已经在工作区中进入我的游戏并配置了构建路径以包含所有库并将它们包含在.jar中我导出我的游戏,但我仍然遇到同样的问题。有谁知道我需要做些什么才能让它发挥作用? (我在组织文件中查看.jar​​和LWJGL)

3 个答案:

答案 0 :(得分:2)

在jar中导出lwjgl库。

要做到这一点,请右键单击项目,属性,java构建路径,顺序&amp;导出,检查您的图书馆

答案 1 :(得分:0)

在命令行中设置(本机)库路径:

Java -Djava.library.path=path/to/dir -jar filename.jar

dir

  

[...]应包含本机部分(Windows上的* .dll文件,Linux上的* .so,   * .jnilib on mac等)

Source

答案 2 :(得分:0)

您需要做两件事:您需要在类路径(或jar中)中包含LWJGL类,并且需要在库路径中包含本机。

从eclipse导出不会自动包含您的库路径,这就是您收到错误的原因。

JarSpliceSvgExe这样的实用程序可以帮助完成这两件事。