【问题标题】:Why does java.net.UnknownHostException require changes to the hosts file?为什么 java.net.UnknownHostException 需要更改 hosts 文件?
【发布时间】:2013-10-20 09:55:14
【问题描述】:

关于这个问题Play Framework GUID 为什么我必须更改我的主机文件?我在 Fedora 中运行测试时遇到了类似的问题,返回以下错误

[error] (*:testListeners) java.net.UnknownHostException: fedora: fedora: Name 
or service not known

我加了一行

127.0.0.1 localhost fedora

到我的 /etc/hosts 文件,它解决了这个问题,但为什么必须首先这样做?

【问题讨论】:

  • 在你的主机文件中没有这个,如果你 ping fedora 会发生什么?
  • 但是为什么它需要主机fedora呢?这不符合一次编写到处运行的哲学。

标签: java playframework


【解决方案1】:

播放服务器加载 EhCache。当 EhCache 被加载(特别是 net.sf.ehcache.Cache)时,它会尝试确定 localhost 的地址,该地址在创建 GUID 的过程中使用,以标识所创建的缓存实例。 EhCache 通过调用InetAddress.getLocalHost() 来实现这一点。此方法在您的主机文件中搜索与为本地计算机设置的主机名匹配的条目,如果找不到,则会抛出 UnknownHostException

如对您链接的问题的回答所示,解决方法是为本地主机名设置主机条目。

【讨论】:

  • 对于我们的主机名不固定的 DHCP 网络上的人来说,这有点棘手。对我来说,十分钟前这是有效的,现在,它不是。我猜我的租约更新了,我得到了一个新的主机名什么的。
猜你喜欢
  • 1970-01-01
  • 2020-04-29
  • 2021-10-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-24
  • 2023-03-27
  • 2010-09-23
  • 2014-01-22
相关资源
最近更新 更多