Ich denke, das nicht unterstützt wird, aber im Grunde kann man zwei Dinge tun in Ihrer Umgebung zu bringen Variablen:
Verwenden System.setProperty vor Log4J wird konfiguriert
Convert (Ihre) Umgebungsvariablen Systemeigenschaften in Launchers
Die erste Option kocht im Grunde auf diese nach unten:
for (Map<String,String>.Entry entry : System.getenv().entrySet()) {
System.setProperty(entry.getKey(), entry.getValue());
}
... aber die Frage ist natürlich, wo Sie diesen Code setzen . Insbesondere, wenn Sie in einer Art Tomcat-Container oder ähnlichem laufen, könnte dies problematisch sein.
Der andere hängt weitgehend von Ihrer Umgebung ab. Grundsätzlich, wenn Sie einen Shell-Skript, das die App gestartet wird, können Sie einige Shell Magie schreiben alle Umgebungsvariablen als Eigenschaften einzustellen, oder nur die, die Sie benötigen, zB:
java -DMY_ENV=$MY_ENV -DMY_OTHER_ENV=$MY_OTHER_ENV -cp ... com.example.Main
Es ist auch möglich, Ihren Serverstart zu ändern Skripte, um dies zu unterstützen, z catalina.sh oder ähnlich.
ich auf die meisten upvoted Antwort nur kommentiert und erklärt meine Argumentation. Ich habe gerade die Antwort, die ich angenommen habe, für das, was es wert ist, aufgewertet. –