Hi,
ich hatte mal vor Jahren eine Java-Swing GUI mit dem Jarbundler von Apple gepacked und ging auch gut.
Der neue Default-Weg um eine .app zu erstellen ist wohl der Javapackager. Hat auch funktioniert, aber die relativen Pfade stimmen nicht.
Auf dem Mac ist eine App wie ein Ordner aufgebaut: AppOrdner/Name.app/Contents/Java/meinProgramm.jar
Ich hatte in dem Programm alle Pfade relativ definiert. Mit dem Jarbundler hatte es wunderbar funktioniert, dass z.B. newFile('Resource/file.txt') auf den Ordner AppOrdner/Resource verweist. Resource war also außerhalb der App.
Wenn ich die jar mit dem Javapackager deploye, referenziert der newFile() Befehl aber in den App Ordner auf AppOrdner/Name.app/Contents/Java/Resource.
Leider referenzieren leider ziemlich viele Befehle im Java Programm hartkodiert auf solche Ordner, die außerhalb der App liegen sollen.
Wie bekomme ich es hin, dass newFile('Resource/file.txt') wieder auf einfache Weise und defaultmäßig auf AppOrdner/Resource referenziert?
Meine Ideen wären,
(1) dass man den javapackager so konfigurieren kann,
(2) oder dass man in Java das default working directory setzen kann, sodass man mittels new File("") außerhalb der App landet und nicht im Ordner der .jar
Für beides habe ich allerdings keine Lösung gefunden. Bitte um Hilfe. Danke.
ich hatte mal vor Jahren eine Java-Swing GUI mit dem Jarbundler von Apple gepacked und ging auch gut.
Der neue Default-Weg um eine .app zu erstellen ist wohl der Javapackager. Hat auch funktioniert, aber die relativen Pfade stimmen nicht.
Auf dem Mac ist eine App wie ein Ordner aufgebaut: AppOrdner/Name.app/Contents/Java/meinProgramm.jar
Ich hatte in dem Programm alle Pfade relativ definiert. Mit dem Jarbundler hatte es wunderbar funktioniert, dass z.B. newFile('Resource/file.txt') auf den Ordner AppOrdner/Resource verweist. Resource war also außerhalb der App.
Wenn ich die jar mit dem Javapackager deploye, referenziert der newFile() Befehl aber in den App Ordner auf AppOrdner/Name.app/Contents/Java/Resource.
Leider referenzieren leider ziemlich viele Befehle im Java Programm hartkodiert auf solche Ordner, die außerhalb der App liegen sollen.
Wie bekomme ich es hin, dass newFile('Resource/file.txt') wieder auf einfache Weise und defaultmäßig auf AppOrdner/Resource referenziert?
Meine Ideen wären,
(1) dass man den javapackager so konfigurieren kann,
(2) oder dass man in Java das default working directory setzen kann, sodass man mittels new File("") außerhalb der App landet und nicht im Ordner der .jar
Für beides habe ich allerdings keine Lösung gefunden. Bitte um Hilfe. Danke.