Номера версий обычно не представляют отдельные компоненты. Для некоторых людей/программного обеспечения числа довольно произвольны. Для других различные части строки номера версии действительно представляют разные вещи. Например, некоторые системы увеличивают части номера версии, когда формат файла изменяется. Так V 1.2.1 формат файла, совместимый со всеми другими версиями V 1.2 (1.2.2, 1.2.3, и т.д.), но не с V 1.3. В конечном счете Вам решать, какую схему Вы хотите использовать.
По доброй традиции, я могу еще раз ответить на свой вопрос:
Похоже, InetAddress.getLocalHost ()
игнорирует /etc/resolv.conf, а только смотрит в файле / etc / hosts (где я не указал ничего, кроме localhost). Добавление IP-адреса и имени хоста в этот файл решает проблему, и исключение исчезает.
Вышеупомянутый ответ почти правильный, и я получил подсказку сверху, и моя проблема решена ... Спасибо.
Но чтобы улучшить это, я Я добавляю пошаговые изменения, так что это будет полезно даже для наивных пользователей.
Шаги:
Откройте / etc / hosts, записи могут выглядеть, как показано ниже.
127.0.0.1 localhost localhost. локальный домен localhost4 localhost4.localdomain4
:: 1 локальный хост localhost.localdomain localhost6 localhost6.localdomain6
вам нужно добавить еще одну строку над этим любым редактором, например vi или gedit.
например,
192.168.1.73 my_foo localhost
Теперь общий файл может выглядеть так:
192.168.1.73 my_foo localhost
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Поиск хостов в Solaris использует /etc/nsswitch.conf
, поэтому в зависимости от того, что написано в строке 'hosts:', он определяет, что / etc / hosts
], NIS, DNS и / или LDAP следует проконсультироваться.
Если вы используете только хосты и DNS, вы должны иметь это в /etc/nsswitch.conf
:
hosts: files dns
Причина, по которой работает nslookup desvearth01
, заключается в том, что nslookup
напрямую обращается к /etc/resolv.conf
. Если вы хотите лучше проверить командную строку, используйте команду:
getent hosts desvearth01
У меня тоже проблемы по этому поводу. Мне нужно провести дополнительное тестирование, но похоже
NetworkInterface.getNetworkInterfaces ()
может быть более надежным. Я думаю, что это не поиск, а просто захват IP.
Я использую его как «следующий лучший», когда getLocalHost ()
дает сбой.