我正在使用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它 - 或者它是一个bug在新的JDK中。
有没有人任何想法可能会导致一些基本输出垃圾的东西?提前谢谢。
答案 0 :(得分:0)
虽然我在发布此问题之前尝试重新启动(当然,这毕竟是Windows),但它没有帮助,VM的第二次重启似乎解决了这个问题。它正在安装一大堆Windows更新,因为它是我刚刚拂去的旧VM,所以我想这可能会在操作系统内部以某种方式扰乱内容。
所以我对此是如何产生的仍感到困惑,但我认为我可以断定这不是Java的错。可能。