- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在离线工作(即未连接到互联网)时,是否有人在使用 OSX Lion 的 Java 中遇到 Java 的 InetAddress.getLocalHost() 解析问题?
localhost:127.0.0.1 似乎根本没有解析:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at java.net.InetAddress.getLocalHost(InetAddress.java:1356)
我的/etc/hosts 中没有什么特别的:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
我怀疑这不是 Java 问题,而是 OSX Lion DNS 解析问题。
有人可以帮忙吗?
如果这不是合适的论坛,我可以在哪里询问?
关于如何在 OSX 级别进一步调试它的任何提示?
更新 26/10/2011 - 这可能是 JDK 错误,以下测试:
InetAddress addr;
try {
addr = InetAddress.getLocalHost();
System.out.println("With localhost access: " + addr);
} catch (ArrayIndexOutOfBoundsException e) {
addr = InetAddress.getByName(null);
System.out.println("With reverse lookup: " + addr);
}
离线时会打印以下内容:
With reverse lookup: localhost/127.0.0.1
干杯,高尔德
最佳答案
找到了解决这个问题的方法,只需为本地主机添加一个别名到网络接口(interface):
sudo ifconfig en0 alias 127.0.0.1
完成后,我在离线时不再遇到本地主机问题。
关于java - 离线时 OSX Lion 上的 InetAddress.getLocalHost() 分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892609/
我正在尝试了解 InetAddress.getLocalHost() 的工作原理。 Javadoc表示它从系统中检索主机名,然后将其解析为 InetAddress。 “解析为 InetAdess”到底
我正在开发一个 android 应用程序,我希望它显示网络上的所有 IP 地址,我已经在运行良好的 java 应用程序中使用了它,但是当我在 android 应用程序中使用它时,它在到达时崩溃了Ine
使用 JRE6(Windows XP 上的 SUN VM),getLocalhost() 有时会卡住。 有趣的是,如果在 Eclipse 中的调试器中,它不会卡住。我将其范围缩小到使用旧式 print
按照这个简短的教程 http://www.rgagnon.com/javadetails/java-0095.html我正在尝试获取我的客户端 IP 地址。 与教程的唯一区别是我希望将我的 IP 地址
我正在尝试执行以下代码。我是 Java 的新手,所以这是我第一次使用 java.net。程序没有错误,但我得到的本地主机地址为 192.168.56.1 而我的 IP 是 192.168.2.10 i
我不明白,为什么下面的代码打印 0.0.9.229 而不是 127.0.0.1。谁能告诉我,急于解决这个问题? String ha = InetAddress.getLocalHost().getHo
我正在不同操作系统上测试我们的服务器应用程序(编写的 Java),并认为 OpenSolaris (2008.11) 将是最不麻烦的,因为它具有良好的 Java 集成。原来我错了,因为我最终得到了 U
使用以下代码: try { System.out.println(new Date()); InetAddress hostName = InetAddress.getLocalHost();
这个问题已经有答案了: How to fetch both IPv4 and IPv6 on dual stack OS (1 个回答) 已关闭 8 年前。 我有一台支持 IPv4 和 IPv6 的双
在我的 docker 容器(Java 应用程序)中,调用 InetAddress.getLocalHost().getHostName()返回我们在 docker run --name 'myserv
我尝试了 InetAddress.getLocalHost().getHostAddress() 来获取用户的互联网地址。它给了我 127.0.1.1 但我正在寻找更像 192.168.1.75 的东
我可以使用 Tomcat 7 和 Java 7 在我的 Windows 机器上本地构建和运行这个应用程序。 但是当我在使用 Tomcat 7 和 Java 7 的 linux 机器上部署 war 文件
我正在尝试从运行它的服务器上获取主机名。 Java 代码: import java.net.InetAddress; System.out.println("Host Name: " + InetAd
使用以下代码: try { System.out.println(new Date()); InetAddress hostName = InetAddress.getLocalHost();
InetAddress.getLocalHost() 在 linux 中抛出 unknownHostException,直到我在/etc/hosts 中手动添加条目。有没有办法在不在/etc/host
用下面的代码 InetAddress.getLocalHost().getHostAddress(); 可以获取主机地址。但是 JVM 是如何发现它的呢? Java API 只告诉您它返回它 ( AP
我使用下面的代码打印出使用 java 1.5 的 linux box 的主机名 public static void main(String a[]) { System.out.println
我开始深入研究通过 Java 获取 IP 地址。我知道一台机器可以通过不同的网络接口(interface)拥有不同的 IP,因此我对我发现的一些示例代码有些困惑,这些代码似乎返回“首选”IP 地址(按
我需要知道当前计算机的名称。 最简单的方法是运行: java.net.InetAddress.getLocalHost().getHostName() 在 Linux 计算机中使用 OpenJDK 7
在离线工作(即未连接到互联网)时,是否有人在使用 OSX Lion 的 Java 中遇到 Java 的 InetAddress.getLocalHost() 解析问题? localhost:127.0
我是一名优秀的程序员,十分优秀!