2012-09-26 34 views
3

我試圖通過命令行來收拾我.tmx地圖,但我不斷收到這樣的:LibGDX包裝.tmx映射

Could not find or load main class libs.gdx-audio-sources.jar 

我有一種感覺,這只是一個隨機的.jar,反正它是在資產文件夾內的libs文件夾中。我輸入的命令是:

java -cp libs/* tiles output file (sorry this shouldn't be a comment) 

libs文件夾包含所有的罐子,我硬是加入每一個libGDX罐子只是要確定。 tiles是我的.tmx,圖像包文件和圖像的文件夾,輸出是我的空輸出文件夾。如果我只是輸入/瓦,並作爲參數傳遞給TiledMapPacker.main(當然,在一個陣列)/輸出目錄,我只是得到

Exception in thread "main" java.lang.NoClassDefFoundError: com/badlogic/gdx/tools/imagepacker/TexturePacker$Settings 
at com.badlogic.gdx.tiledmappacker.TiledMapPacker.main(TiledMapPacker.java:351) 
at com.game.packer.Main.main(Main.java:22) 
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.tools.imagepacker.TexturePacker$Settings 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 2 more 

我敢肯定imagepacker.texturepacker $設置爲平鋪內,預處理器.jar,它位於我的libs文件夾中,所以我不知道發生了什麼。

回答

0

麻煩的是與外殼擴展:

java -cp libs/* tiles output file 

外殼將擴大libs/*目錄中的所有文件,所以你得到這個命令行:

java -cp libs/gdx-audio.jar libs/gdx-audio-sources.jar ... tiles output file 

而且-cp需要一個冒號分隔列表,而不是空格分隔。所以第二個JAR文件被解釋爲「主類」參數,儘管libs/gdx-audio-sources.jar顯然不是類的名稱。

所以我們需要colon-separated filenames可以這樣進行:

java -cp $(printf "%s:" libs/*) tiles output file 
+0

我得到的只是這個: 錯誤:無法找到或加載主類%s: – Jimmt

+0

我天真地認爲是Unix。你在哪個平臺上? – Thomas

+0

Windows 7 ...對不起,我不太流利的底層命令行東西 – Jimmt

1

幸運的是,你不需要再這樣做了。
他們已經完全重構了Tiled地圖代碼。