我在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)
答案 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)