gpt4 book ai didi

java - System.getProperty ("user.home") 在 Tomcat 上返回 "/usr/share/tomcat7/"

转载 作者:行者123 更新时间:2023-11-28 22:04:28 33 4
gpt4 key购买 nike

我的 Java 应用程序在 Tomcat 上运行,我想在用户主目录(例如 "/home/USERNAME/")下创建文件。

方法 System.getProperty("user.home") 在 Windows 上运行良好,返回 "C:\users\USERNAME\"。但在 Linux 上它返回 "/usr/share/tomcat7/",我的应用程序没有权限。我试过 System.getProperty("user.name") 并返回 "tomcat7"。我做了一个解决方法,但我不满意。

那么,即使在任何操作系统和 Tomcat 上运行时,我如何获取用户主目录?谢谢。

最佳答案

这些属性即:user.* 与用于运行 tomcat 的用户相关。通常在 windows(本地开发工作站)上,我们使用登录用户来运行 tomcat。所以你得到了正确的值。(你认为正确的值)。但是在 linux 上,特别是在生产环境中,tomcats 始终使用受限用户帐户运行,该帐户通常被命名为“tomcat”本身。因此,当您点击 user.* 属性时,您将获得特定于为运行 tomcat 的用户设置的环境变量的值。发生在你身上的事情是应该的。您不应依赖这些属性来使用。

关于java - System.getProperty ("user.home") 在 Tomcat 上返回 "/usr/share/tomcat7/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27251571/

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