2016-09-28 20 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'重新添加它来解决问题。再次感谢,欢呼! –