java - 离线时 OSX Lion 上的 InetAddress.getLocalHost() 分辨率

标签 java macos dns localhost osx-lion

在离线工作(即未连接到互联网)时,是否有人在使用 OSX Lion 的 Java 中遇到 Java 的 InetAddress.getLocalHost() 解析问题?

localhost:127.0.0.1 似乎根本没有解析:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at java.net.InetAddress.getLocalHost(InetAddress.java:1356)

我的/etc/hosts 中没有什么特别的:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

我怀疑这不是 Java 问题,而是 OSX Lion DNS 解析问题。

有人可以帮忙吗?

如果这不是合适的论坛,我可以在哪里询问?

关于如何在 OSX 级别进一步调试它的任何提示?

更新 26/10/2011 - 这可能是 JDK 错误,以下测试:

InetAddress addr;
try {
   addr = InetAddress.getLocalHost();
   System.out.println("With localhost access: " + addr);
} catch (ArrayIndexOutOfBoundsException e) {
   addr = InetAddress.getByName(null);
   System.out.println("With reverse lookup: " + addr);
}

离线时会打印以下内容:

With reverse lookup: localhost/127.0.0.1

干杯, 高尔德

最佳答案

找到了解决这个问题的方法,只需为本地主机添加一个别名到网络接口(interface):

sudo ifconfig en0 alias 127.0.0.1

完成后,我在离线时不再遇到本地主机问题。

关于java - 离线时 OSX Lion 上的 InetAddress.getLocalHost() 分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892609/

相关文章:

javascript - Mac OSx 使用 sh 将文本插入到创建的文件中

macos - COCOA Mac 应用程序中 NSSegmentedControl 按钮的键盘快捷键

java - 使用 Spring 表达式语言断言从属性文件加载的属性(具有逗号分隔值)是否包含 "value"

Java反问题

objective-c - 委托(delegate)/选择器和目标/操作之间有区别吗?

c - 使用 res_nmkquery() 连接到仅限 ipv6 的 DNS 服务器

grails - 用于从静态数据初始化域类的Grails设计

kubernetes - Traefik入口不适用于群集IP

Java公平信号量

java - Neo4J OGM Session.load(ID) 返回现有 ID 的 null 对象