Arbeitsverzeichnisse ändern

smathedark

Mitglied
Hallo,
ich habe ein Problem und komme alleine einfach nciht drauf.
In meiner Anwendung gibt es ein Java Programm (Starter). Dies ruft ein weiteres Java Programm(Testumgebung) auf, welches dann verschiedene C Programme(Testroutinen) aufruft. Alle Programme liegen in unterschiedlichen Verzeichnissen.
Nun ist es so, dass als Arbeitsverzeichnis immer das Verzeichnis des Starter Programms aktiv ist.
Da ich aber als Arbeitsverzeichnis ab dem 2 Programmaufruf das Verzeichnis des anderen Java Programms (Testumgebung) als Arbeitsverzeichnis setzen möchte, habe ich mit
System.setProperty("user.dir",userdir.getParent()); das Arbeitsverzeichnis auf das richtige Verzeichnis gesetzt.
Das funktioniert soweit auch. Ruft das Java Programm (Testumgebung) nun aber das c Programm (Testroutine) auf, so ist das Arbeitsverzeichnis des C Programms wieder das des Starters und da liegt mein Problem. Warum ist nun wieder das alte Verzeichnis aktiv wo ich es doch geändert hatte.
Die Problematik ist dabei das Übergabeparameter der Testroutinen relative Pfadangaben enthalten die nicht funktionieren wenn das falsche Arbeitsverzeichnis gesetzt ist.

Hoffe ihr könnt mir helfen.

Gruß

SMA
 
Hi,

danke genau so habe ich es eben auch geschafft.
Ich gebe dem ProcessBuilder ein Arbeitsverzeichnis für die zu startende Anwendug vor. Trozdem verstehe ich nicht warum sich die Anwendungen so verhalten. Manchmal muss man sich aber mit der Lösung eines Problems zufrieden geben. Danke für eure Hilfe!
 
Zurück