16

我正在使用 JRE 1.7,我发现user.homeSystem 属性非常不寻常。JVM如何设置这个值?

4

2 回答 2

24

这个 Java 错误解释了如何:http ://bugs.sun.com/view_bug.do?bug_id=4787931

系统属性user.home设置:

  1. 读取键的注册表值:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop
  2. 取该值的父路径,但解析环境变量。

示例:%userprofile%\Desktop=> %userprofile%(未解析的环境变量)

这个问题应该在 Java 8 中修复。

相关参考:Java user.home 被设置为 %userprofile% 并且没有被解析

于 2013-06-03T04:20:31.970 回答
8

在 Windows 中,它就像接受的答案中所说的那样,并且取决于桌面文件夹的位置。

如果您想更改默认的桌面文件夹位置,并且仍然希望 user.home 位于同一文件夹中,则有一种解决方法:

将此添加到环境变量中:
_JAVA_OPTIONS:-Duser.home=%HOMEDRIVE%%HOMEPATH%

或在命令行中:
设置 _JAVA_OPTIONS=-Duser.home=%HOMEDRIVE%%HOMEPATH%

我在此页面的评论中看到了解决方案: http ://www.timehat.com/javas-user-home-is-wrong-on-windows/

于 2014-02-06T09:46:56.677 回答