私はJDK 1.6.0u33で実行されているGroovy 1.8.6で作業しています。プログラムの起動時に、ホスト アドレスの 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。
これほど基本的なものがゴミを出力する原因となっている原因を知っている人はいますか? 前もって感謝します。