Подтвердить что ты не робот

Изменение свойства системы user.home

Как мне изменить системное свойство user.home из-за пределов моей java-программы, так что он думает, что это другой каталог из D:\Documents and Settings\%USERNAME%? Через переменные среды или аргументы VM?

4b9b3361

Ответ 1

Настройка аргумента VM должна работать:

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

Здесь тестовый пример:

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

Протестировано с помощью java 1.5.0_17 на Win XP и Linux

java test
/home/ChssPly76

java -Duser.home=overwritten test
overwritten 

Ответ 2

Если вы хотите установить user.home для всех программ Java, вы можете использовать специальную переменную среды _JAVA_OPTIONS.

Но обратите внимание, что трудно подавить предупреждающее сообщение будет напечатано.

$ export _JAVA_OPTIONS=-Duser.home=/some/new/dir
$ java test
Picked up _JAVA_OPTIONS: -Duser.home=/some/new/dir
/some/new/dir