Javaプログラムの外部からuser.homeシステムプロパティを変更して、D:\ Documents and Settings \%USERNAME%とは異なるディレクトリであると見なされるようにするにはどうすればよいですか?環境変数を使用するか、 VM引数?
設定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 on Win XPおよびLinux
Java test
/home/ChssPly76
Java -Duser.home=overwritten test
overwritten
すべてのJavaプログラムにuser.home
を設定する場合は、特別な環境変数_Java_OPTIONS
を使用できます。
ただし、 警告メッセージを抑制するのは困難です であることに注意してください。
$ export _Java_OPTIONS=-Duser.home=/some/new/dir
$ Java test
Picked up _Java_OPTIONS: -Duser.home=/some/new/dir
/some/new/dir