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

2022-09-03 04:51:59

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


答案 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 被设置为 %userprofile% 并且未被解析


答案 2

在窗口中,它像接受的答案中所述的那样获取它,并且依赖于桌面文件夹位置。

如果要更改默认的“桌面”文件夹位置,并且仍希望将 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/


推荐