java getLocalHost()UnknownHostException / etc / hosts文件与linux api有什么不同?

时间:2012-08-28 12:40:51

标签: java linux

我有两台redhat 6.3机器,BOTH在/ etc / hosts中没有变化(即我没有为它们添加ip地址)。在我的机器上可以运行getLocalhost并返回主机名a.domain.com。另一个用UnknownHostException失败。

以前,我总是将ip添加到/ etc / hosts,但我想知道为什么这台机器不需要它。两台机器上的/etc/nsswitch.conf都有“hosts:files dns”,因此在两台机器上都是相同的。

/ etc / sysconfig / network-scripts / ifcfg-eth0脚本有很大的不同。获取UnknownHostException的节点是这样的

DEVICE="eth0"
BOOTPROTO="static"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=10.10.1.5
PREFIX=23

有效的那个有这样的......

DEVICE="eth0"
HWADDR="AA:AA:AA:AA:3F:A8"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
IPADDR=10.10.1.2
PREFIX=23
GATEWAY=10.10.1.1
DNS1=10.20.100.100
DNS2=10.20.100.101
DOMAIN="domain.com sub.domain.com"

这可能是某种原因吗?或者我可以看看其他文件,看看为什么这不起作用?我假设java正在将一些linux getLocalHost api调用到机器中以获取主机名。

感谢, 迪安

1 个答案:

答案 0 :(得分:1)

啊,我偶然发现了差异。在我的/ etc / sysconfig / network文件中,我在工作机器上有FQDN,但在另一台机器上,我只有主机名“b”,因此将其更改为“b.domain.com”修复了问题,我不知道我需要修改我的/ etc / hosts文件!!!!

迪安