0

私はJDK 1.6.0u33で実行されているGroovy 1.8.6で作業しています。プログラムの起動時に、ホスト アドレスの telnet ポートに接続して、同じホスト上の別のプロセスに接続しようとします。標準の Java クラス InetAddress を使用して、ローカル ホスト アドレスを決定します。しかし、何らかの理由で Wi​​ndows 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 を 2 回再起動すると問題が解決したようです。それは古い VM だったので、大量の Windows 更新プログラムをインストールする過程にありました。

そのため、これがどのようにして起こったのかについてはまだ非常に混乱していますが、Java のせいではないと結論付けることができると思います。おそらく。

于 2012-06-27T02:01:00.790 に答える