2009-09-30 3 views

ответ

29

Установка 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 
+1

На самом деле, я попробовал это, и это, кажется, не работает ... – weiji

+1

я попытался это слишком, работает просто отлично - смотрите мое обновление для образца кода. С какой версией java вы это попробовали? – ChssPly76

+0

Это может быть проблема экранирования оболочки. – daveb

15

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

Обратите внимание, что a difficult to suppress warning message will be printed.

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