InetAddress.getLocalHost().getHostName()
不再获取HostName的名称,因为我切换到java 8 ...
使用jdk1.8 InetAddress.getLocalHost().getHostName()
返回" localhost"。之前(当我使用jdk1.6时)它根据网络配置为我提供了正确的主机名(" ACTION03"):
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ACTION03
任何帮助?
答案 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/hosts
有127.0.0.1 localhost
的记录,为主机localhost
提供名称