InetAddress.getLocalHost () выбрасывает unknownHostException в linux, пока я не добавлю запись вручную в / etc / hosts.Есть ли способ получить объект InetAddress без добавления записи в файл / etc / host. Примечание: IP-адрес статический
String host = null; NetworkInterface iface = null; for(Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();ifaces.hasMoreElements();){ iface = (NetworkInterface)ifaces.nextElement(); InetAddress ia = null; for(Enumeration<InetAddress> ips = iface.getInetAddresses();ips.hasMoreElements();){ ia = (InetAddress)ips.nextElement(); if(!ia.isLoopbackAddress() && (!ia.isLinkLocalAddress()) && (ia instanceof Inet4Address)) host=ia.getHostAddress(); } }
Мне интересно то же самое.В этом посте у меня есть машина, на которой я НЕ добавил запись в /etc/hosts...
java getLocalHost () UnknownHostException / etc / hosts файл отличается linux api?
но я думаю, что машина может быть настроена по-другому, но не знаю, как.Я предпочитаю не добавлять его в / etc / hosts, так как мы уже настроили имя хоста в / etc / sysconfig / network, и одного места "должно" быть достаточно.