Разрешение InetAddress.getLocalHost() на OSX Lion в автономном режиме

#java #macos #dns #localhost #osx-lion

#java #macos #dns #localhost #osx-lion

Вопрос:

У кого-нибудь возникли проблемы с разрешением 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, а скорее проблема разрешения DNS OSX Lion.

Кто-нибудь может помочь?

Если это не тот форум, где я могу спросить об этом?

Любые советы о том, как отладить это дальше на уровне 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. Что ping localhost Terminal.app показывает in?

2. Итак, вы просто вызываете InetAddress.getLocalHost(); и получаете это исключение? Вау. Это на Java1.6 в Mac OSX 10.7.X? Кажется, у меня все работает.

3. Mac OSX 10.7.2 с JDK: java версии «1.6.0_26» Java (TM) SE Среда выполнения (сборка 1.6.0_26-b03-383-11A511) Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 20.1-b02-383, смешанный режим)

Ответ №1:

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

 sudo ifconfig en0 alias 127.0.0.1
  

Как только это будет установлено, я больше не получаю проблем с локальным хостом в автономном режиме.