Java:InetAddress.getLocalHost();抛出java.net.UnknownHostException

Java:InetAddress.getLocalHost();抛出java.net.UnknownHostException,java,networking,localhost,inetaddress,Java,Networking,Localhost,Inetaddress,我在运行Java应用程序时遇到问题: 执行以下行时,将显示异常: InetAddress.getLocalHost(); 将引发以下异常: java.net.UnknownHostException: ????????: ???????? at java.net.InetAddress.getLocalHost(InetAddress.java:1506) at main.Main.main(Main.java:23) Caused by: java.net.UnknownHostExcept

我在运行Java应用程序时遇到问题: 执行以下行时,将显示异常:

InetAddress.getLocalHost();
将引发以下异常:

java.net.UnknownHostException: ????????: ????????
at java.net.InetAddress.getLocalHost(InetAddress.java:1506)
at main.Main.main(Main.java:23)
Caused by: java.net.UnknownHostException: ????????
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getLocalHost(InetAddress.java:1501)
... 1 more

我知道这是我的本地机器的问题,因为它在我的虚拟机和其他设备上工作。我使用的是Windows 10,我的主机文件是默认文件(未编辑)。问号是什么意思?我该怎么解决这个问题呢?

我发现了问题所在:我的主机名由西里尔字母组成。Discord上的一位用户向我解释说:

这似乎是C函数GetAddRinfo函数的一个限制 [12:14]考虑到西里尔语不是有效的DNS,这是有道理的 名字,所以它跟在RFC后面。[12:14](即使主机名!=dns名称) 在技术上,但有细微差别)。[12:15]RFC 952和RFC 1123有详细信息 关于它的信息


您的主机当前有IP地址吗?您是指外部地址吗?是的。如果在命令窗口中执行
ping 127.0.0.1
,会发生什么情况?@VGR执行命令时不会出现问题。与“ping localhost”相同