日期:2014-05-17  浏览次数:20678 次

JDOM ,windows7 ,tomcat 谁的bug?
环境:JDK7 tomcat7 servlet jdom1.1.2


static void check(String name,String key)
{
Element el = null;
try {
System.out.println("0");
el = (Element)XPath.selectSingleNode(doc, "//client[@name='" + name + "']");
System.out.println("1");
} catch (Exception e) {
System.out.println("2"));
}
                finally{System.out.println("3"));}

}


项目XP上运行正常,拷贝到win7上后出现问题,经排查找到问题所在位置。如上:在tomcat的输出窗口里看到了"0" 、看到了“3”,但让人不可理解的是“1”和“2”都没看到(反复试了十几次,保证不是偶发情况)真是难以置信啊!由于同样代码在XP上运行正常,所以基本能排除代码问题了吧--这么简单代码它确实没问题啊,那么是哪出bug了呢?

------最佳解决方案--------------------
可以肯定的是,肯定报异常了,否则“1”就能输出来。
你将catch (Exception e)
改成
catch (Throwable e)
再试下
------其他解决方案--------------------
非常感谢楼上朋友方法,使用Throwable后就找到异常信息了,原来是少了个包:jaxen-1.1.4 这个包是JDOM所依赖的。我以前并未把它显式加入项目,但运行也没问题,来win7上却不行了,当然项目转移过程也是比较麻烦的,不能排除自己忘了些什么,总之把这个包加进项目后就OK了。
------其他解决方案--------------------
恭喜楼主解决问题!