在 Windows 7 上,Java JVM 如何设置“user.home"?系统属性?
我使用的是 JRE 1.7,我发现 user.home
系统属性非常不寻常.JVM是如何设置这个值的?
I am using JRE 1.7 and I discovered the user.home
System property is very unusual. How does the JVM set this value?
推荐答案
这个 Java 错误解释了如何:http://bugs.sun.com/view_bug.do?bug_id=4787931
This Java bug explains how: http://bugs.sun.com/view_bug.do?bug_id=4787931
系统属性user.home
设置者:
- 读取注册表项的值:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop
- 取该值的父路径,但不解析环境变量.
- Read the registry value for key:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop
- Take the parent path of this value, but do not resolve environment variables.
示例:%userprofile%Desktop
=> %userprofile%
(未解析的环境变量)
Example: %userprofile%Desktop
=> %userprofile%
(unresolved environment variable)
这个问题应该在 Java 8 中得到修复.
This issue should be fixed in Java 8.
相关参考:Java 用户.home 被设置为 %userprofile% 并且没有被解析
相关文章