1

テーブル ビューを備えた Eclipse プラグインは、時々次のようになります。

java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)

SSD を搭載した私のデスクトップ PC では、これは 10% の確率でしか発生しませんが、通常の HDD を搭載した私の職場のコンピューターでは、これは常に発生します。ビューには、JDOM2 で XML ファイルを読み込むコンテンド プロバイダーがあります。デバッグすることで、エラーを次の行まで追跡しました。

SAXBuilder builder = new SAXBuilder(); 
Document doc = builder.build(file);
Element element = doc.getRootElement(); 

2番目にIOExceptionを受け取るのはどこですか?プラグインも時々動作するので、ファイルが存在すると確信しています。

更新: 再確認するために、IOExecption を編集しました。

catch (IOException e) { 
    if(file.length()==0){
        System.out.println("error: the following file could not be found.");
        System.out.println("File:"+file);
    }else
        e.printStackTrace(); 
    }

システムでアクセスできないファイル文字列を使用すると、システム出力が使用されます。ファイルが存在する場合は、printStackTrace が実行されます。

4

1 に答える 1

0

ああ、私はそれを理解しました。SAXBuilder - インターネット経由で XML 内にある dtd をチェックします。

<!DOCTYPE annotation  SYSTEM "http://www.xyz.com/xyz.dtd">

私の仕事用マシンの問題はプロキシサーバーです.自宅のものはおそらく接続タイムアウトだったので、時々うまくいきました.

なぜ SAXBuilder が http 経由でインターネットにアクセスするのか疑問に思っていましたが、これはもう明らかです。

于 2013-01-22T10:35:27.597 に答える