2014-03-19 52 views
0

我在eclipse中製作了一個Java遊戲,當我運行可執行文件.jar時,它啓動並且加載屏幕開始,但隨後停止並掛起。我使用命令行運行它:「Java -jar filename.jar」,當加載屏幕停止時,它顯示一個錯誤。這就是CMD顯示:我的java遊戲在eclipse中運行,但一旦導出它「找不到LWJGL」並且不會運行

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在org文件中)

回答

2

將lwjgl庫導出到jar中。

要做到這一點,右鍵單擊該項目,特性,Java構建路徑,爲了&出口,檢查庫

+0

Upvoting。也就是說,日蝕可以忽略這個,或者由於多種原因不能正確地做到這一點。如果你絕望,將源代碼整合到你的項目中,並將其全部導出。 – Gorbles

+0

我去了,做了你所說的事,我需要的所有圖書館都在那裏,都打勾了。我點擊「確定」並繼續導出。它沒有錯誤地構建,但是當我運行它時仍然會出現相同的錯誤。 – user3278983

+0

你有什麼屬性 - > java構建路徑 - >庫,是在那裏添加的庫? –

0

坐落在命令行中(本機)庫路徑:

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

其中dir

[...]應包含本地部分(* .dll文件在Windows上,*。所以在Linux上, *在Mac等.jnilib)

Source

0

你需要做兩件事情:你需要包括你的類路徑(或您的罐子)的LWJGL類,你需要在你的庫路徑當地人。

從eclipse導出不會自動包含您的庫路徑,這就是爲什麼你會得到你的錯誤。

JarSpliceSvgExe這樣的實用程序可以幫助解決這兩個問題。

相關問題