Wenn es zumindest schon einmal läuft nenne ich das einen Fortschritt
Ich muss es mal gerade bei mir ausprobieren...
Nein, funzt bei mir aus allen Directories. Ich weiss auch nicht genau, woran das bei dir liegt, zumal ich keinen Mac habe.
Da bleibt nichts anderes übrig, das Programm von der Kommandozeile zu starten, wie ich bereits gesagt habe. Du hast ja deine jar in ausgepackter Struktur liegen, richtig?
Dann kannst du ja, hoffentlich, dein Programm "normal" von Kommandozeile starten. Wenn das nur in dem Directory funktioniert, indem die ausgepackte Version der Jar liegt, ist es eindeutig eine Frage des Classpath. Diesen kannst du beim Aufruf deines Programms angeben.
java -cp <Classpath> Distanz
Als Classpath kannst du durch Doppelpunkt getrennt, eine Menge von Directories oder JAR-Dateien angeben. Diese bilden dann zusammen den Classpath für dein Programm. Java sucht dann darin die Klasse Distanz und ruft dessen main-Methode auf.
Also, solltest du überprüfen, ob du erstens das Programm wirklich starten kannst. Danach das gleiche mal aus einem anderen Verzeichnis tun und dabei den Classpath mitgeben, in denen sich die ausgepackte JAR befindet.
Zum Schluss kannst du dann das Manifest innerhalb der JAR anpassen, so das die Klasse gefunden wird. Üblicherweise ist das das aktuelle Verzeichnis "." und meine das dies voreingestellt sein sollte, wenn du java -jar.. verwendest.
PS. Es KANN natürlich an deinem Programm liegen. Insbesondere sagtest du etwas von einer Grafik-Datei. Da wäre schon der Code wichtig um zu sehen, ob da ein Fehler liegt.