M
Mc Noise
Gast
Hallo,
ich habe eine Java-Applikation unter Windows entwickelt, die problemlos arbeitet, nicht aber unter Linux. Bei der Programminitialisierung wird bei mir eine Property-Datei geladen. Diese kann aber leider unter Linux nicht gefunden werden.
Nach langem Experimentieren stellte sich heraus, dass es ein Problem mit dem relativen Pfad zum Programm unter Linux gibt.
Sofern ich das Programm aus dem Terminal ausführe und mich mit den cd Befehl in das Verzeichnis der Jar bewege und diese ausführe läuft alles. Führe ich die Jar jedoch aus einem anderen Verzeichnis vom Terminal aus und übergebe den pfad an java -jar, dann läuft es nicht mehr. In diesem Fall versucht er die Property-File immer aus /home/<username> zu laden, obwohl Java die Property-File eigentlich relativ zur executable Jar ausführen sollte. Wenn ich die Jar-File direkt über den XServer ausführe (nicht über das Terminal), dann nimmt er per Default immer /home/<username>, natürlich komplett falsch.
Versuche mit System.getProperty("home.dir") blieben erfolglos, während der Ausfühung erhalte ich immer das Home-Verzeichnis des Linux-Users.
Idee kam mir mit dem Linux-Befehl "pwd", der im Terminal den aktuellen Pfad ausgibt. Den Pfad würde ich mir über einen ProcessBuilder ausgeben lassen, nur ist die Idee ziemlich dreckig.
Hat von euch jemand eine Idee?
ich habe eine Java-Applikation unter Windows entwickelt, die problemlos arbeitet, nicht aber unter Linux. Bei der Programminitialisierung wird bei mir eine Property-Datei geladen. Diese kann aber leider unter Linux nicht gefunden werden.
Nach langem Experimentieren stellte sich heraus, dass es ein Problem mit dem relativen Pfad zum Programm unter Linux gibt.
Sofern ich das Programm aus dem Terminal ausführe und mich mit den cd Befehl in das Verzeichnis der Jar bewege und diese ausführe läuft alles. Führe ich die Jar jedoch aus einem anderen Verzeichnis vom Terminal aus und übergebe den pfad an java -jar, dann läuft es nicht mehr. In diesem Fall versucht er die Property-File immer aus /home/<username> zu laden, obwohl Java die Property-File eigentlich relativ zur executable Jar ausführen sollte. Wenn ich die Jar-File direkt über den XServer ausführe (nicht über das Terminal), dann nimmt er per Default immer /home/<username>, natürlich komplett falsch.
Versuche mit System.getProperty("home.dir") blieben erfolglos, während der Ausfühung erhalte ich immer das Home-Verzeichnis des Linux-Users.
Idee kam mir mit dem Linux-Befehl "pwd", der im Terminal den aktuellen Pfad ausgibt. Den Pfad würde ich mir über einen ProcessBuilder ausgeben lassen, nur ist die Idee ziemlich dreckig.
Hat von euch jemand eine Idee?