Недавно, запустив Java-программу на моем Mac OS X , я заметил ниже ошибку в консоли Eclipse.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Java. нетто. UnknownHostException : НОУТБУК — 23876346: НОУТБУК — 23876346: имя_узла , ни servname при условии, или же не известен
в Яве . нетто. InetAddress . getLocalHost ( InetAddress . Java : 1473 )
в орг . затмение. rse . ядро. RSECorePlugin . getLocalMachineName ( RSECorePlugin . java : 265 )
в орг . затмение. rse . ядро. RSEPreferencesManager . getDefaultPrivateSystemProfileName ( RSEPreferencesManager . java : 358 )
в орг . затмение. rse . ядро. RSEPreferencesManager . initDefaults ( RSEPreferencesManager . java : 337 )
в орг . затмение. rse . внутренний . ядро. RSEPreferenceInitializer . initializeDefaultPreferences ( RSEPreferenceInitializer . java : 23 )
в орг . затмение. ядро. внутренний . предпочтения. PreferenceServiceRegistryHelper $ 1.run ( PreferenceServiceRegistryHelper . Java : 300 )
в орг . затмение. ядро. время выполнения . SafeRunner . запустить ( SafeRunner . Java : 42 )
, , , ,
, , , ,
, , , ,
Вызванный: Java. нетто. UnknownHostException : НОУТБУК — 23876346: имя_узла , ни servname при условии, или же не известен
в Яве . нетто. Inet6AddressImpl . lookupAllHostAddr ( Native Метод )
в Яве . нетто. InetAddress $ 1.lookupAllHostAddr ( InetAddress . Java : 901 )
в Яве . нетто. InetAddress . getAddressesFromNameService ( InetAddress . java : 1293 )
в Яве . нетто. InetAddress . getLocalHost ( InetAddress . Java : 1469 )
, , , 28 Больше
|
Я буквально чесал голову, потому что нигде не видел эту ошибку на рабочем столе Windows во время разработки Java . Что вызывает ошибку — java.net.UnknownHostException — Как решить UnknownHostException?
Во время отладки я узнал, что это пришло из моего кода Java ниже:
|
1
2
3
4
5
6
7
8
9
|
общественности статический строка returnHostName ( ) {
строка crunchifyHost знак равно ноль ;
пытаться {
crunchifyHost знак равно InetAddress . getLocalHost ( ) . getCanonicalHostName ( ) ; // Эта строка выдавала исключение
} ловить ( Исключение е ) {
бросать новый RuntimeException ( Ошибка. Не удалось получить crunchifyHost: + е ) ;
}
вернуть crunchifyHost ;
}
|
Иногда бывает очень неприятно получать исключения в одной операционной системе по сравнению с другой. getCanonicalHostName() возвращает полное доменное имя для этого IP-адреса. Метод наилучшего усилия, означающий, что мы не сможем вернуть полное доменное имя (полное доменное имя) в зависимости от базовой конфигурации системы. Mac OS X использует конфигурацию системы, отличную от конфигурации Windows.
Ну, решение простое. Следуйте инструкциям ниже, и вы должны быть хорошими.
Шаг 1 Откройте Терминал Windows.
Шаг 2 Введите команду sudo vi /private/etc/hosts
Шаг 3 Вы должны увидеть содержимое файла таким образом.
Шаг 4 Добавить ниже строки 127.0.0.1 LAPTOP-23876346 незамедлительно после 127.0.0.1 localhost
|
1
2
3
4
5
6
7
8
9
10
|
##
# База данных хоста
#
# localhost используется для настройки интерфейса обратной связи
# когда система загружается. Не меняйте эту запись.
##
127.0.0.1 локальный
127.0.0.1 НОУТБУК — 23876346 # добавлена строка. замените LAPTOP-23876346 на имя вашего ноутбука
255.255.255.255 broadcasthost
:: 1 локальный
|
Шаг 5 Выполните команду ниже, чтобы очистить кеш
|
1
|
Баш — 3,2 $ dscacheutil — flushcache
|
Теперь снова запустите тот же проект Java, и вы не должны видеть java.net.UnknownHostException снова.
0.00 (0%) 0 votes










