开发者

java.net.UnknownHostException

开发者 https://www.devze.com 2023-02-10 10:32 出处:网络
I\'m installing CSVN using jdk1.6.0_23 and I\'m getting the following Java error: 2011-02-10 16:25:50,951 [WrapperJarAppMain] WARN util.GrailsUtil - [WARNING] Property [ldapServerPort] of domain clas

I'm installing CSVN using jdk1.6.0_23 and I'm getting the following Java error:

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)

My server has 3 NICs (eth0, eth1 and eth2). I've added an entry to the hosts file bellow localhost containing the following:

127.0.0.1 vkqgae01
开发者_开发技巧

I can successfully ping vkqgae01, but nslookup cannot resolve it.

Any ideas?


That is related with

hostname

and

/etc/hosts

If /etc/hosts doesn't containt the definition of the hostname it fails. Just add your hostname to /etc/host for example if your hostname is work add or modified the following line:

127.0.0.1   work        localhost


I can succesfully ping vkqgae01, but nslookup cannot resolve it.

Any ideas?

What happens?

  • vkqgae01 is resolved locally thanks to your hosts file.
  • nslookup sends a query to your DNS, where vkqgae01 is unknown.


Suggestion: add vkqgae01 to hosts file of every machine where you "use" it.
Basically, the fact that the local hosts file on vkqgae01 contains 127.0.0.1 localhost vkqgae01 doesn't help other machines to solve its name.


Just added the line below in /etc/hosts and it worked.

127.0.0.1 imac


nslookup queries DNS specifically and directly. This means it will not be able to show anything added directly to an /etc/hosts file (as that isn't DNS). If you want to properly make sure your system will resolve a name, use getent: 'getent hosts vkqgae01'


You need to restart the container if /etc/hosts was changed as far as JVM caches local addresses/names on the first InetAddress call. It looks like InetAddress implementation bug, but still not fixed.

0

精彩评论

暂无评论...
验证码 换一张
取 消