![](/img/trans.png)
[英]InetAddress.getLocalHost() throws UnknownHostException
[英]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.