2012-09-26 6 views
3

Je tente d'emballer ma carte .tmx par la ligne de commande, mais je continue à recevoir ceci:LibGDX emballage .tmx cartes

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

J'ai le sentiment est juste un .jar au hasard, il est de toute façon dans un dossier libs à l'intérieur de mon dossier d'actifs. La commande est de type I dans: dossier

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

libs contient tous les pots, je littéralement ajouté chaque pot de libGDX juste pour être sûr. tiles est le dossier avec mon fichier .tmx, image pack et image, et la sortie est mon dossier de sortie vide. Si je viens de saisir les répertoires de/tuiles et/sortie en tant qu'argument à TiledMapPacker.main (dans un tableau bien sûr), je viens d'obtenir

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 

Je suis assez sûr que les paramètres de $ de imagepacker.texturepacker est à l'intérieur de tuiles-préprocesseur .jar, qui est dans mon dossier libs, donc je ne sais pas ce qui se passe.

Répondre

0

Le problème est avec l'expansion du shell:

java -cp libs/* tiles output file 

La coquille étendra libs/* à tous les fichiers dans le répertoire, vous obtenez cette ligne de commande:

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

Et -cp attend un colon- liste séparée, non séparée par des espaces. Le deuxième fichier JAR est donc interprété comme l'argument "classe principale", bien que libs/gdx-audio-sources.jar ne soit évidemment pas le nom d'une classe.

Nous avons donc besoin colon-separated filenames qui peut être fait comme ceci:

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

Tout ce que j'obtiens est la suivante: Erreur: Impossible de trouver ou de charger la classe principale% s: – Jimmt

+0

J'ai supposé un Unix. Quelle plate-forme êtes-vous? – Thomas

+0

Windows 7 ... désolé je ne suis pas trop à l'aise avec les choses de ligne de commande de bas niveau – Jimmt

1

Heureusement, vous aurez pas besoin de faire plus.
Ils ont complètement remodelé le code de la carte Mosaïque.