【发布时间】:2013-05-29 04:51:42
【问题描述】:
我正在使用 JRE 1.7,我发现 user.home 系统属性非常不寻常。 JVM是如何设置这个值的?
【问题讨论】:
我正在使用 JRE 1.7,我发现 user.home 系统属性非常不寻常。 JVM是如何设置这个值的?
【问题讨论】:
这个 Java 错误解释了如何:http://bugs.sun.com/view_bug.do?bug_id=4787931
系统属性user.home设置者:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop
示例:%userprofile%\Desktop => %userprofile%(未解析的环境变量)
这个问题应该在 Java 8 中得到修复。
相关参考:Java user.home is being set to %userprofile% and not being resolved
【讨论】:
在 Windows 中,它会像接受的答案中所说的那样得到它,并且取决于桌面文件夹的位置。
如果您想更改默认桌面文件夹位置,但仍希望将 user.home 放在同一文件夹中,则有一种解决方法:
将此添加到环境变量中:
_JAVA_OPTIONS:-Duser.home=%HOMEDRIVE%%HOMEPATH%
或在命令行中:
set _JAVA_OPTIONS=-Duser.home=%HOMEDRIVE%%HOMEPATH%
我在本页的 cmets 中看到了解决方案: http://www.timehat.com/javas-user-home-is-wrong-on-windows/
【讨论】: