带有表视图的Eclipse插件有时会得到:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
在我的带有SSD的台式电脑上,只有10%的时间会发生这种情况,在我的普通硬盘工作电脑上,这种情况一直都在发生。该视图有一个使用JDOM2读入的竞争提供程序和XML文件。通过调试我将错误追溯到以下几行:
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(file);
Element element = doc.getRootElement();
它在哪里收到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();
}
如果我使用系统无法访问的文件字符串,则使用System out,如果文件存在,则执行printStackTrace。
答案 0 :(得分:0)
唉唉, 我想到了。 SAXBuilder - 通过Internet检查XML中的dtd。
<!DOCTYPE annotation SYSTEM "http://www.xyz.com/xyz.dtd">
我的工作机器上的问题是代理服务器,家里的问题是一些连接超时,所以它有时会工作。
我想知道为什么SAXBuilder会通过http访问互联网,现在很清楚。