0

我在 Groovy 1.8.6 中工作,在 JDK 1.6.0u33 上运行。当我的程序启动时,它会尝试通过连接到主机地址上的 telnet 端口来连接到同一主机上的另一个进程。它使用标准 Java 类 InetAddress 来确定本地主机地址。但是,由于某种原因,当我在 Windows XP VM 上启动程序时,主机地址解析为垃圾并且连接失败。

启动脚本包含此行用于诊断信息: def serverAddress = "http://${InetAddress.localHost.hostAddress}:${config.ServerPort}/DigitizerService?wsdl"

serverAddress打印到终端 时的输出为:http://0.1.0.5:8989/DigitizerService?wsdl

地址并不总是相同的 - 另一次它是0.2.0.5. 但它总是以甚至不是有效地址的形式出现,更不用说该主机的实际地址了。

这个相同的代码库正在大量的盒子上生产,我从来没有见过这样的问题,所以我猜它一定是特定于这个新的 devbox 的——或者它是新的错误JDK。

有谁知道什么可能导致像这样基本的东西输出垃圾?提前致谢。

4

1 回答 1

0

虽然我在发布这个问题之前尝试重新启动(当然,这毕竟是 Windows),但它没有帮助,VM 的第二次重新启动似乎已经解决了这个问题。它正在安装大量 Windows 更新,因为它是一个我刚刚清理过的旧虚拟机,所以我想这可能会以某种方式扰乱操作系统内部的东西。

所以我仍然很困惑这是如何发生的,但我想我可以得出结论,这不是 Java 的错。大概。

于 2012-06-27T02:01:00.790 回答