java - InetAddress java 8 没有获取主机名

标签 java java-8 inetaddress rt.jar

InetAddress.getLocalHost().getHostName() 自从我切换到 java 8 后不再获取主机名的名称 ...

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

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

有什么帮助吗?

最佳答案

similar bug在 JDK 中触发。

据我了解,他们更改了默认解决流程。

它们遵循 /etc/nsswitch.conf 中的配置,其中为 /etc/hosts 配置了主机,使其成为名称解析的主要优先级。

通常 /etc/hosts 有为 127.0.0.1 localhost 提供主机名的记录 localhost

关于java - InetAddress java 8 没有获取主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622631/

相关文章:

java - Swing 组件在彼此内部绘制

java - 箭头运算符 '->' 在 Java 中的作用是什么?

java - Java中的方法重考

java - 使用 InetAddress 或 System.getenv 获取主机名哪个更好

java - 改造2.7.1 连接失败

Java代码无法在DNA字符串中找到基因

java - 带有java的Mongodb - 查找批量大小的查询

java 8 java.util.function.Consumer 中断

java - InetAddress.getByName 无法解析为类型

android - 无法解析主机 Android