的java.net.UnknownHostException

时间:2011-02-11 12:46:58

标签: java network-programming

我正在使用jdk1.6.0_23安装CSVN,我收到以下Java错误:

2011-02-10 16:25:50,951 [WrapperJarAppMain] WARN util.GrailsUtil - [WARNING] Property [ldapServerPort] of domain class com.collabnet.svnedge.console.Server has type [int] and doesn't support constraint [nullable]. This constraint will not be checked during validation.
2011-02-10 16:25:51,117 [WrapperJarAppMain] ERROR ehcache.Cache - Unable to set localhost. This prevents creation of a GUID. Cause was: vkqgae01: vkqgae01
java.net.UnknownHostException: vkqgae01: vkqgae01
at java.net.InetAddress.getLocalHost(InetAddress.java:1354)
at net.sf.ehcache.Cache.<clinit>(Cache.java:143)

我的服务器有3个NIC(eth0,eth1和eth2)。我在以下主机文件中添加了一个条目,包含以下内容: 127.0.0.1 vkqgae01

我可以成功ping vkqgae01,但nslookup无法解决它。

有什么想法吗?

5 个答案:

答案 0 :(得分:57)

这与

有关
  

主机名

  

的/ etc /主机

如果/ etc / hosts没有包含主机名的定义,则失败。只需将您的主机名添加到/ etc / host,例如,如果您的主机名是work add,则修改以下行:

127.0.0.1   work        localhost

答案 1 :(得分:11)

  

我可以成功ping vkqgae01,但nslookup无法解决它。

     

有什么想法吗?

会发生什么?

    由于您的主机文件,
  • vkqgae01已在本地解析。
  • nslookup向您的DNS发送查询,其中vkqgae01未知。


建议:vkqgae01添加到您“使用”它的每台计算机的主机文件中。
基本上,vkqgae01上的本地hosts文件包含127.0.0.1 localhost vkqgae01这一事实无助于其他机器解析其名称。

答案 2 :(得分:4)

刚刚在/ etc / hosts中添加了以下行,它确实有效。

127.0.0.1 imac

答案 3 :(得分:1)

nslookup专门直接查询DNS。这意味着能够显示直接添加到/ etc / hosts文件的任何内容(因为它不是DNS)。 如果要正确确保系统将解析名称,请使用getent: 'getent hosts vkqgae01'

答案 4 :(得分:-2)

如果更改了 / etc / hosts ,则需要重新启动容器,只要JVM在第一次InetAddress调用时缓存本地地址/名称。它看起来像InetAddress实现错误,但仍然没有修复。