在 Windows 7 上,Java JVM 如何设置“user.home"?系统属性?

2022-01-16 00:00:00 jvm windows-7 java

我使用的是 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设置者:

  1. 读取注册表项的值:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop
  2. 取该值的父路径,但不解析环境变量.
  1. Read the registry value for key: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersDesktop
  2. 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% 并且没有被解析

相关文章