System.getProperty(“user.name”)返回HOSTNAME而不是当前记录的用户名

时间:2013-08-21 09:33:19

标签: java windows

这里

System.getProperty("user.name"); 

返回Windows Server 2008计算机的主机名,而不是当前登录的用户名。

以下是我的代码

final String user = System.getProperty("user.name");
logger.info("User Name : " + user);

我想知道System.getProperty如何在java和Windows Server 2008上运行? 和 为什么在这种情况下它会返回错误的值?

2 个答案:

答案 0 :(得分:4)

刚检查过:System.getProperty("user.name");返回环境变量USERNAME中的值,因此请检查CMD窗口中set USERNAME所说的内容

答案 1 :(得分:0)

显示在java中设置的所有属性的列表,请尝试以下代码

   public static void main(String[] args)
   {
        Properties prop = System.getProperties();
        Set<String> a = prop.stringPropertyNames();
        Iterator<String> keys = a.iterator();
        while (keys.hasNext())
        {
            String key = keys.next();
            String value = System.getProperty(key);
            System.out.println(key + "=" + value);
        }
   }