我使用System.getProperty(" user.name")来获取localuser的名称。它工作正常,现在我的班级需要在服务器上工作。
不幸的是,System.getProperty(" user.name")尝试捕获服务器的用户名并返回" root"。
是否可以使用System.getProperty()我在服务器上获取运行该类的localuser的名称?如果没有,有什么办法吗?
答案 0 :(得分:1)
System.getProperty("user.name")
返回运行java进程的用户帐户名。正如您在本地计算机上提到的那样,您在用户“Filiipe”上运行它,但是在服务器上,您以root用户身份运行它。也许您正在使用tomcat / jboss作为系统服务自动启动,这种服务在root用户下运行。
您也可以在linux上使用ps -ef
命令轻松检查它 - 第一列是启动该服务的用户。
您还可以通过向服务器启动脚本-Duser.name=Fellipe
添加其他选项来尝试覆盖此参数。我没试过,但可能会奏效。