繁体   English   中英

什么系统环境存储InetAddress.getLocalHost().GetCanonicalHostName()的值

[英]What system environment stores the value of InetAddress.getLocalHost().GetCanonicalHostName()

我试图了解哪些系统变量具有此值。 我执行此代码并获得some_string

InetAddress.getLocalHost().GetCanonicalHostName();

在此之后我打印我所有的系统环境

System.getenv().forEach((k, v) -> System.out.println("K = " + k + " V = " + v));

我找到所有具有some_string的变量,并将所有值替换为

@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_ROAMINGPROFILE”、“USERDOMAIN”、“COMPUTERNAME”、“MACHINENAME”;

但这对我也没有帮助。

您不能设置环境变量以使 Java 认为您在另一台机器上。 java.lang.InetAddress -

返回本地主机的地址。 这是通过从系统中检索主机的名称,然后将该名称解析为 InetAddress 来实现的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM