Ich entwickle eine J2EE-Anwendung, die in JBoss auf einem Windows Vista-Rechner läuft, aber die Anwendung wird auf einem Linux-Rechner landen. Gibt es eine Möglichkeit, den Wert einer Umgebungsvariablen plattformunabhängig zu übergeben?Umgebungsvariablen an eine JVM übergeben, plattformunabhängig
Ich denke (aber ich bin mir nicht sicher) die Plattform sensitiv sein würde:
-Denv_var=%MY_ENV_VAR% (Windows)
-Denv_var=$MY_ENV_VAR (Linux)
und von dort würde ich den Wert (in Java) mit
System.getProperty("MY_ENV_VAR");
zugreifen - Ist das korrekt?
Die Javadoc für System.getenv(String name)
scheinen zu implizieren, dass diese Methode plattformabhängig ist, aber das ist mir nicht klar. Könnte ich einfach die Variable vollständig in die JVM übergeben und getenv()
verwenden, nachdem ich den Wert für eine Umgebungsvariable über das Betriebssystem eingestellt habe?
Ist Ihr Beispiel falsch? Sollte es nicht -DMY_ENV_VAR sein, wenn Sie System.getProperty ("MY_ENV_VAR") verwenden möchten; –