Ich habe ein Anwendungspaket auf Mac OS X 10.4 auf dem Desktop. Meine Anwendung sucht nach einem Ordner mit dem Namen "resources", in dem die anzuzeigenden Dateien aufbewahrt werden (an demselben Speicherort wie das ausführbare JAR). Ich weiß, dass es auch einen Ordner namens "Ressourcen" im App-Bundle gibt, tut mir leid, wenn das verwirrend ist, aber ich habe nie auf einem Mac programmiert und wusste nicht, dass das derselbe Name wäre.Java System.getProperty ("user.dir") unter Mac OS X
In Windows, wenn ich System.getProperty("user.dir")
aufrufen ich bekomme den Ort, an dem die ausführbare JAR-Datei befindet. Genau das, was ich wollte.
Warum dann, wenn ich ein Anwendungspaket ausführen, ist die getProperty "/" zurück? Das ist alles. Ich habe erwartet, dass es etwas wie "/Users/user_name/Desktop" ... zurückgibt, wo sich mein App-Bundle befindet.
Befindet sich das Glas im App-Paket (d. H. Ein * .app-Ordner)? Führen Sie das Glas durch Klicken auf das App-Symbol aus? OS X lädt Jars mit dem Jar Launcher-Programm. Dies verschleiert wahrscheinlich das übergeordnete Arbeitsverzeichnis. –