gpt4 book ai didi

具有网络用户配置文件的 Windows 7 上的 Java 属性 "user.home"

转载 作者:可可西里 更新时间:2023-11-01 11:53:51 25 4
gpt4 key购买 nike

我们有一个客户运行其 Windows 7 安装,其用户配置文件存储在内部网上的 Windows 服务器上(我认为它被称为“终端服务器环境”或类似的东西......)。

现在我在 Java 中遇到了一些关于这些“外部”用户配置文件的问题。

我将一些设置存储在用户主文件夹中的一个文件夹中(Windows:C:\Users\username\,Mac:/Users/username/)。因为该应用程序是跨平台的,所以我不在 Jave 中使用 Windows 环境变量 %USERPROFILE%,而是使用 native Java 属性 user.home

但是,这是 Windows CMD 对 %USERPROFILE% 变量的说明:

>echo %USERPROFILE%
C:\Users\vvw\

这就是我在 Java 中得到的:

>System.getProperty("user.home")
C:\windows\system32\config\systemprofile\

为什么 Java 属性 user.home 默认为这个奇怪的目录?

在 Java 中为 Mac 和 Windows 获取正确用户主目录的最佳方法是什么?


更新:重新安装 java 并重新启动有帮助。但是,很高兴知道这也被跟踪为 a bug in the Java Bug Database。这将在 Java 8 中修复。

最佳答案

阅读this article ,那里有人有同样的问题。

因为你没有说,在mac上没有问题,在其他windows机器上执行你的代码。也许您的开发机器有问题。

目录C:\windows\system32\config\systemprofile\ 貌似是用户SYSTEM的用户目录,但我不确定。这可能意味着 java 在用户 SYSTEM 下运行。

关于具有网络用户配置文件的 Windows 7 上的 Java 属性 "user.home",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com