java getCanonicalHostName正在返回非限定名称
我有几个主机返回了InetAddress.getLocalHost().getCanonicalHostName()
(Documented here)的非限定名称
e、 用“foo”代替“foo.example.com”。
是什么原因造成的?我如何修复
在命令行上运行“hostname -f
”将返回FQDN
短名称上的nslookup
也返回FQDN
CentOS 7.7.1908
JRE 1.8.0_231-b11
# 1 楼答案
你能粘贴/etc/hosts文件的内容吗
或cat/etc/hosts | grep localhost的输出
问题很可能存在,因为它没有为127.0.0.1定义FQDN
# 2 楼答案
这可能是您的机器的配置。检查域的DNS是否正确解析,以及是否存在域集
Java要么在
/etc/hosts
中查找,要么使用操作系统工具进行名称-地址-名称解析因为您正在寻找localhost,所以可能需要一种特定于主机的机制来解决它
此外,您的机器可能有许多接口,并且并非所有接口都可以解析为相同的FQDN
列举所有网络接口可能有助于发现问题: