哪个系统环境存储inetaddress.getlocalhost().getcanonicalhostname()的值

qmb5sa22  于 2021-07-16  发布在  Java
关注(0)|答案(1)|浏览(400)

我试图理解哪些系统变量有这个值。我执行这个代码并得到一些字符串。
inetaddress.getlocalhost().getcanonicalhostname();
在此之后,我打印我所有的系统环境
system.getenv().foreach((k,v)->system.out.println(“k=“+k+”v=“+v));
我找到所有有一些字符串的变量,并用

@ClassRule
public final static EnvironmentVariables ENVIRONMENT_VARIABLES = new EnvironmentVariables();
final String pcNameForEnv = "test-pc-name";
ENVIRONMENT_VARIABLES.set("USERDOMAIN", pcNameForEnv);

但我的测试失败了

@Test
public void getMachineNameFromEnv() {
    final String pcNameForEnv = "test-pc-name";
    ENVIRONMENT_VARIABLES.set("USERDOMAIN", pcNameForEnv);

    final String machineName = networkUtil.getPCNetworkName();

    assertEquals(pcNameForEnv, machineName);
}

我发现我需要更换这个版本:
“user.name”,“user.home”,“logonserver”,“computername”,“userdomain\u roamingprofile”,“userdomain”,“computername”,“machinename”;
但这对我也没有帮助。

pvabu6sv

pvabu6sv1#

您不能设置一个环境变量来让java认为您在另一台机器上。来自java.lang.inetaddress-
返回本地主机的地址。这是通过从系统中检索主机名,然后将该名称解析为inetaddress来实现的。

相关问题