[Linux] Java ein anderen "current directory" mitgeben
lima-city → Forum → Heim-PC → Betriebssysteme
aktuelle verzeichnis
aktuellen verzeichnis
angewohnheit
aufruf
code
datei
erstellen
erstellung
falschen stelle
frage
gefunden versuch
gleichen ordner
gleichen verzeichnis
ordner
shell
starten
verzeichnis
-
Hallo,
über ein shell-script führe ich eine JAR-Datei aus, die sich nicht im gleichen Verzeichnis befindet, sondern eine ebene tiefer.
Mein Aufruf sieht so aus:
/jvm/bin/java -jar subdir/program.jar
Da funktioniert soweit auch ganz gut.
Allerdings hat die JAR-Datei die Angewohnheit, Dateien in das aktuelle Verzeichnis zu erstellen.
Ich möchte, dass diese Dateien aber im gleichen Ordner sind, wie die JAR-Datei selbst.
Das heißt:
wenn ich in den Ordner subdir gehe und dann die JAR-Datei starte, dann funktioniert alles bestens.
Nur, da ich beim starten des Shell-Scriptes nicht im gleichen Ordner bin, werden die Dateien an der falschen Stelle erstellt.
Kann ich dem JAVA Prozess irgendwie mitgeben, dass er nicht aus dem aktuellen Verzeichnis heraus gestartet wurde, sondern aus dem Unterverzeichnis?
(Ein "cd subdir && /jvm/bin/java -jar program.jar" kommt fpr mich momentan nicht in Frage, da das ganze in einem chroot läuft, und dort keine shell verfügbar ist.) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin,
das liegt an der Erstellung der Dateien durch die jar-Datei. Anscheinend scheint die jar jene Dateien im aktuellen Arbeitsverzeichnis abzulegen. Und da Du die jar eben aus einem anderen Verzeichnis aufrufst, wird dieses als das Arbeitsverzeichnis ausgewiesen und entsprechend werden die Dateien dort abgelegt.
EDIT:
Hab's doch noch gefunden, versuch's mal damit:
/jvm/bin/java -jar -Duser.dir=/subdir subdir/program.jar
Gruss,
Pawnee
Beitrag zuletzt geändert: 14.2.2012 14:29:57 von pawnee -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage