InetAddress.getLocalHost () разрешение на OSX Lion в автономном режиме - PullRequest
4 голосов
/ 25 октября 2011

Есть ли у кого-нибудь проблемы с разрешением InetAddress.getLocalHost () в Java в Java с OSX Lion при работе в автономном режиме (т.е. без подключения к Интернету)?

Может показаться, что 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

Приветствия, Галдер

1 Ответ

7 голосов
/ 01 ноября 2011

Найден способ обойти эту проблему, просто добавьте псевдоним localhost к сетевому интерфейсу:

sudo ifconfig en0 alias 127.0.0.1

После этого у меня больше не возникает проблем с локальным хостом в автономном режиме.

...