Question

Comment puis-je modifier la propriété système user.home à l'extérieur de mon programme java, pour qu'il pense qu'il est un répertoire différent de D: \ Documents and Settings \% USERNAME%? Via les variables d'environnement, ou des arguments VM?

Était-ce utile?

La solution

Réglage de l'argument VM devrait fonctionner:

java -Duser.home=<new_location> <your_program> 

Voici un test:

public class test {
  public static void main(String[] args) {
    System.out.println(System.getProperty("user.home"));
  }
}

Testé avec Java 1.5.0_17 sur Win XP et Linux

java test
/home/ChssPly76

java -Duser.home=overwritten test
overwritten 

Autres conseils

Si vous souhaitez définir user.home pour tous les programmes Java, vous pouvez utiliser l'environnement spécial _JAVA_OPTIONS variable.

Mais notez que difficile de supprimer un message d'avertissement sera imprimé .

$ export _JAVA_OPTIONS=-Duser.home=/some/new/dir
$ java test
Picked up _JAVA_OPTIONS: -Duser.home=/some/new/dir
/some/new/dir
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top