2016-09-28 21 views
0

我有以下問題:我在eclipse中開發了一個libgdx中的應用程序。 Gdx.files.internal()函數出現問題,它拋出文件未找到,但我通過進入Run Configurations在eclipse,Arguments選項卡和摘取OtherWorking Directory部分搜索它並修復。然後我選擇了資產文件夾,它工作。但是現在當我試圖從eclipse導出可執行文件jar時,我遇到了同樣的問題。我想這個改變的工作目錄不會以某種方式導出,有什麼想法? 順便說一句,這裏的堆棧具有更改工作目錄的Java LibGDX導出jar包exlipse

com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json 
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:98) 
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:75) 
at local.bb.learn2.MainMenuScreen.<init>(MainMenuScreen.java:29) 
at local.bb.learn2.MainMenuScreen.getInstance(MainMenuScreen.java:121) 
at local.bb.learn2.MyGdxGame.create(MyGdxGame.java:61) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:147) 
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124) 
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json 
    at com.badlogic.gdx.utils.Json.fromJson(Json.java:702) 
    at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:96) 
    ... 6 more 
Caused by: com.badlogic.gdx.utils.SerializationException: Error parsing file: uiskin.json 
    at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:77) 
    at com.badlogic.gdx.utils.Json.fromJson(Json.java:700) 
    ... 7 more 
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: uiskin.json (Internal) 
    at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136) 
    at com.badlogic.gdx.files.FileHandle.reader(FileHandle.java:163) 
    at com.badlogic.gdx.utils.JsonReader.parse(JsonReader.java:75) 
    ... 8 more 
Exception in thread "LWJGL Application" java.lang.NullPointerException 
    at local.bb.learn2.MainMenuScreen.render(MainMenuScreen.java:131) 
    at com.badlogic.gdx.Game.render(Game.java:46) 
    at local.bb.learn2.MyGdxGame.render(MyGdxGame.java:68) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124) 

PS我相信這是問題,因爲我改變了在Eclipse中運行配置返回到默認工作目錄,並把它扔到了相同的堆棧。

回答

0

你可以找到一些有用的信息here

據我瞭解,你應該設置你的工作目錄上運行配置。 如果你有很多模塊,最好有一個文件夾。

從你的錯誤我可以看到,在uiskin.json文件中存在問題。 而LibGDX無法正確解析它。 你應該分享或嘗試類似的文件。

+0

你似乎不明白。問題是我有一個啓動配置,這對應用程序的工作至關重要。當我在eclipse中運行它時,這個啓動配置工作。但是,當我從項目中導出可運行文件並從控制檯運行它時,它不起作用。 –

+0

所以這意味着文件在錯誤的目錄中。 它們是否打包在jar文件中或與jar文件位於同一目錄中? – Shaq

+0

感謝您的幫助! :)你沒有解決問題,但你讓我在正確的方向來獲得解決方案。桌面應用程序中的assets文件夾鏈接不太好,我通過刪除它並通過'Build Path'菜單中的'Link Source'重新添加它來解決問題。再次感謝,歡呼! –