【问题标题】:On Windows 7, how does Java JVM set "user.home" System property?在 Windows 7 上,Java JVM 如何设置“user.home”系统属性?
【发布时间】:2013-05-29 04:51:42
【问题描述】:

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

【问题讨论】:

    标签: java windows-7 jvm


    【解决方案1】:

    这个 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 is being set to %userprofile% and not being resolved

    【讨论】:

      【解决方案2】:

      在 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/

      【讨论】:

      猜你喜欢
      • 2010-12-02
      • 1970-01-01
      • 2012-05-24
      • 2012-01-24
      • 2012-11-25
      • 2011-07-08
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多