#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
Как только это будет установлено, я больше не получаю проблем с локальным хостом в автономном режиме.