InetAddress java 8没有获取主机名

时间:2016-07-27 20:29:34

标签: java java-8 inetaddress rt.jar

InetAddress.getLocalHost().getHostName()不再获取HostName的名称,因为我切换到java 8 ...

使用jdk1.8 InetAddress.getLocalHost().getHostName()返回" localhost"。之前(当我使用jdk1.6时)它根据网络配置为我提供了正确的主机名(" ACTION03"):

cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ACTION03

任何帮助?

2 个答案:

答案 0 :(得分:1)

使用Java 1.8.0_05在Linux(Ubuntu 14.04)上为我工作。

public class HostName {
    public static void main(String[] args) throws Exception {
        System.out.println(java.net.InetAddress.getLocalHost().getHostName());
    }
}
  罗伯特@哈瓦那:〜$ javac HostName.java&& java HostName

     

哈瓦那

答案 1 :(得分:1)

在JDK中解雇了similar bug

据我所知,他们改变了默认解决方案。

他们尊重/etc/nsswitch.conf中为/etc/hosts配置主机的配置,使其具有名称解析的主要优先级。

通常/etc/hosts127.0.0.1 localhost的记录,为主机localhost提供名称