Hi,
ich würde gerne die System- und User-Variablen auslesen bzw. setzen können.
(in Windows setze ich die ja entweder in der System-Steuerung oder im DOS-Promt mit
set VARIABLE=Wert
Gibt es da etwas?
Besten Dank
Winni
Hi,
ich würde gerne die System- und User-Variablen auslesen bzw. setzen können.
(in Windows setze ich die ja entweder in der System-Steuerung oder im DOS-Promt mit
set VARIABLE=Wert
Gibt es da etwas?
Besten Dank
Winni
Hallo Winni,
System.getProperty(„MeinWert“);
System.setProperty(„MeinWert“, „Hallo“);
Viele Grüsse
Simon
Naja, wenn ich
System.out.println(System.getProperty(„JAVA_HOME“));
aufrufe, wird statt des Pfades null zurückgegeben.
Mein Tomcat kann diese aber auswerten.
Ne Idee?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi,
wenn Du
System.getProperties().list(System.out);
ausprobierst, dann siehst Du alle abfragbaren Systemproperties. JAVA_HOME ist kein Systemproperty, sondern meist eine Umgebungsvariable des Betriebssystems.
Gruss,
Herb
Ja und ich will eben die Betriebssystem-Variablen haben.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Betriebssystemvariablen lesen
Hi,
so auf die Schnelle würd ich es folgendermassen machen:
try
{
Process proc = Runtime.getRuntime().exec("cmd /c echo %JAVA\_HOME%");
BufferedReader br = new BufferedReader( new InputStreamReader(proc.getInputStream()) );
for ( String s; (s = br.readLine()) != null; )
System.out.println( s );
}
catch(IOException iox)
{
System.out.println(iox.getMessage());
}
}
Gruss,
Herb
Hi,
besten Dank, habe nun 2 Möglichkeiten zum LESEN herausgefunden.
(Bei Bedarf kann ich es Dir auch den anderen Ansatz schicken, ist aber etwas größer)
Aber mit dem Schreiben einer SystemVariablen habe ich ein Problem:
rt.exec("cmd /c set TEST=blabla");
führt nicht zum Ergebnis.
Kennt wer nen Ansatz?
> Hi,
>
> so auf die Schnelle würd ich es folgendermassen machen:
>
> Gruss,
>
> Herb
Hi,
das Schreiben kann os nicht funktionieren, weil Du das nur für den erzeugten Prozess tust, nicht für das Betriebssystem allgemein.
Wenn Du irgendeine Komponente mit einem Wert versorgen musst, dann solltest Du nach einem anderen Weg suchen. Willst Du zum Beispiel Tomcat von einem Javaprogramm aus starten, dann kannst Du ihm die benötigten Parameter mitgeben. Da ist ein Zugriff auf die Betriebssystemumgebungsvariablen nicht nötig.
Gruss,
Herb
Die Variable wird ja nichtmal über:
rt.exec(„cmd /c set TEST=test“);
…
rt.exec(„cmd /c set“);
übermittelt
(
Dann muß ich Wohl die Parameterübergabe über INI-Files machen, oder ne andere Idee?
Vielleicht solltest Du mal sagen, was Du machen willst.
Dann kann ich Dir eine adäquate Lösung vorschlagen.
Gruss, Simon
Hi,
es geht um ein Softwareprojekt, welches von Unix auf Windows portiert werden soll.
Und bisher wurde eben vieles über Prozeßsteuerung und Environment-Variablen gesteuert (es laufen da 4 Applikationen parallel, teilweise aber im „SLEEP“-Modus, was aber nun durch gegenseitige Aufrufe aufbrechbar erscheint)
Werde bei der nächsten Projektgruppensitzung einfach vorschlagen, daß Ini-Files mit übergeben werden, bzw. einiges fest verdrahtet wird und fertig.
Oder hast Du ne bessere Idee?
Vielleicht solltest Du mal sagen, was Du machen willst.
Dann kann ich Dir eine adäquate Lösung vorschlagen.Gruss, Simon
Ich würde Properties verwenden:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Pr…
Habe noch was interessantes gefunden:
http://java.sun.com/docs/books/tutorial/essential/sy…
-> Damit kannst Du auch JAVA_HOME (= java.home) lesen!
Viele Grüsse
Simon