System-Property "user.dir"

vfl_freak

Premium-User
Guten Morgen,

hoffe mal, dass ich mit meiner Frage hier richtig bin ...
Leider stehe ich gerade ein wenig auf dem Schlauch :(

Wir haben vor einigen Tagen die neue Java-Version V1.8.0_101 installiert (JRE und JDK).
Leider musste ich gestern nun feststellen, das "user.dir" (also das Arbeitsverzeichnis) jetzt plötzlich auf den Pfad des installierten JREs zeigt und nicht mehr auf den bei uns notwendigen Ordner "user.home/desktop/nnn" !

Dieser Desktop-Ordner 'nnn' ist der spezielle Ordner, in dem alle notwendigen Dateien für die Anwendung liegen und aus dem heraus die Anwendung gestartet wird. Dies ist u. a. notwendig, da beim Programmstart eine ganze Reihe Dateien von WebServer herunter geladen und lokal in diesem Ordner (rsp. div. Unterordnern) gespeichert werden.

Durch den falschen Pfad werden alle diese Unterordner und Dateien nun im Pfad des installierten JREs gespeichert.

Ein händisches Setzen mittels System.setProperty("user.dir","user.home/desktop/nnn") scheitert nun zunächst daran, dass diese Ordner auf den einzelnen Clientrechnern nicht zwingend überall gleich benannt sind.

Wie kann ich beim Start einer Anwendung den absoluten Pfad des jeweiligen Ordners, in dem gestartet wird, abfragen, um die Eigenschaft dann neu zu setzen ??

Danke im voraus!
Gruß Klaus
 

vfl_freak

Premium-User
Moin,

das ist alles mehr als seltsam ....
Ich habe jetzt die Methode "File.getCanonicalPath()" mal als allerersten Aufruf eingebaut:
Java:
File directory = new File( "." );
try
{
  String sWorkingDir = directory.getCanonicalPath();
  System.err.println( "Current directory's canonical path: " + sWorkingDir );
  System.setProperty( "user.dir", sWorkingDir );
}
catch( IOException e )
{
  // TODO Auto-generated catch block
  e.printStackTrace();
}
Wenn ich jetzt die Anwendung aus Eclipse aus aufrufe, sehe ich den entsprechend korrekten Pfad.
Wenn ich die Anwendung auf den WebServer lade und von dort downloade, klappt es bei mir NICHT mehr, bei einem Kollegen mit identischen System (wir reden übrigens von Win7) schon !

Verstehen tue ich es nicht ..... :rolleyes:

Gruß Klaus
 

vfl_freak

Premium-User
  • div. Versuche, den Pfad händisch beim Programmstart zu setzen, klappten bei mir nur beim Aufruf aus Eclipse, NICHT jedoch aus dem entspreechenden Desktop-Ordner heraus (bei einem Kollegen spannenderweise jedoch schon)
  • nach dem ich bei mir das JDK (!!) auf V1.8.0_74 zurückgesetzt und damit compiliert habe, lief es auch hier bei mir problemlos
  • es ist also wohl nicht das aktuelle JRE, sondern das aktuelle JDK das Problem .... müssen wir dann wohl erstmal mit leben