Search code examples
javasystem-properties

Change user.home system property


How do I change the user.home system property from outside my java program, so that it thinks it's a different directory from D:\Documents and Settings\%USERNAME%? Via environment variables, or VM arguments?


Solution

  • Setting VM argument should work:

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

    Here's a test case:

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

    Tested with java 1.5.0_17 on Win XP and Linux

    java test
    /home/ChssPly76
    
    java -Duser.home=overwritten test
    overwritten