InetAddress Java 8 не получает имя хоста
InetAddress.getLocalHost().getHostName()
больше не получаю имя HostName, так как я перешел на Java 8 ...
с JDK1,8 InetAddress.getLocalHost().getHostName()
возвращает "localhost". Ранее (когда я использовал jdk1.6), он дает мне правильное имя хоста (которое является "ACTION03") в соответствии с конфигурацией сети:
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=ACTION03
любая помощь?
2 ответа
В JDK произошла похожая ошибка.
Я понимаю, что они изменили процесс разрешения по умолчанию.
Они соблюдают конфигурацию в /etc/nsswitch.conf
где хосты настроены для /etc/hosts
это дает ему главный приоритет для разрешения имен.
Обычно /etc/hosts
имеет запись для 127.0.0.1 localhost
которые предоставляют имя для хоста localhost
У меня работает на Linux (Ubuntu 14.04) с Java 1.8.0_05.
public class HostName {
public static void main(String[] args) throws Exception {
System.out.println(java.net.InetAddress.getLocalHost().getHostName());
}
}
robert @ habanero: ~ $ javac HostName.java && java HostName
Habanero