Propriétés classiques
Les propriétés système du niveau JVM ou JDK sont souvent utilisées en lecture. Voici une liste de quelques propriétés qu’on modifie souvent au démarrage.
-
-Duser.language=en
pour forcer la langue par défaut de la JVM -
-Duser.timezone=UTC
, pour fixer le fuseau horaire de la JVM ; ce serait tellement plus simple si tout était en UTC -
-Djava.io.tmpdir=…
pour fixer le répertoire temporaire de la JVM -
-Djava.awt.headless=true
pour une application serveur qui utilise des classes AWT -
-Djava.net.preferIPv4Stack=true
pour forcer l’utilisation de IPv4, sinon les sockets sont ouvertes en priorité en IPv6
Modifier une propriété
Au démarrage
java -Duser.timezone=UTC Application
Dans le code
System.setProperty("java.home", "UTC");
Lire les propriétés (depuis le code)
System.getProperties()
.list(System.out);
String home = System.getProperty("java.home");
// avec une valeur par défaut
String timezone = System.getProperty("user.timezone", "UTC");
Lire les propriétés (CLI)
java -XshowSettings:all -version
jinfo -sysprops <pid>
jcmd <pid> VM.system_properties