InetAddress java 8没有获取主机名
InetAddress.getLocalHost().getHostName()
不再获取HostName的名称,因为我切换到java 8 …
使用jdk1.8, InetAddress.getLocalHost().getHostName()
返回“localhost”。 之前(当我使用jdk1.6时)它根据网络配置给出了正确的主机名(即“ACTION03”):
cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=ACTION03
任何帮助?
在JDK中发生了类似的错误 。
据我所知,他们改变了默认解析过程。
他们尊重/etc/nsswitch.conf
中的配置,其中为/etc/hosts
配置了/etc/hosts
,为其提供了名称解析的主要优先级。
通常/etc/hosts
具有为主机localhost
提供名称的127.0.0.1 localhost
记录
适用于Linux(Ubuntu 14.04)和Java 1.8.0_05。
public class HostName { public static void main(String[] args) throws Exception { System.out.println(java.net.InetAddress.getLocalHost().getHostName()); } }
robert @ habanero:〜$ javac HostName.java && java HostName
哈瓦那