He estado recibiendo el nombre de host de la máquina de la siguiente manera:Obtener nombre de host con Java falla en última JDK7
InetAddress.getLocalHost().getHostName();
Sin embargo, cuando puse JDK más reciente (jdk1.7.0_04), el código anterior simplemente volver LOCALHOST . Revisé/etc/hosts (su linux) y se dice que:
127.0.0.1 localhost redbull
Se ha regresaba hasta REDBULL actualización. Así que cambié de que todo poniendo
127.0.0.1 redbull localhost
en vez y comenzado a regresar REDBULL sin ningún problema.
¿Hay alguna manera mejor de hacer esto?
Sí, esto se ve como un duplicado, pero su no cuando miras de cerca. También estoy de acuerdo en que debería devolver LOCALHOST. Sin embargo, con todas las versiones anteriores de JDK, nunca lo hizo y, por lo tanto, "corregir" la lógica en este momento parece ser contra intuitivo. Usar JNI para obtener algo tan simple como el nombre de host me parece una exageración.A menos que alguien tenga una mejor solución o JDK proporcione algo más estándar, utilizaré mi "solución alternativa" en este caso. – Daniil
Yo tendería a estar de acuerdo. La implementación de JNI, si bien es bien conocida, agrega otro nivel de complejidad a su proceso de compilación e implementación. ¿Y si este es el único JNI que necesitas? Probablemente exagerado de hecho. Es extraño que hayan cambiado esto, el equipo de Java tiende a marcar errores aparentemente más importantes como "tal como están diseñados" para mantener el backcompat. –