我正在使用JRE 1.7,我发现user.home
系统属性非常不寻常。 JVM如何设置此值?
答案 0 :(得分:21)
此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
答案 1 :(得分:6)
在Windows中,它会像接受的答案中所说的那样得到它,并且取决于Desktop文件夹的位置。
如果您想更改默认的桌面文件夹位置,并且仍希望将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/