今天碰到一个怪问题,从Subversion checkout的相同代码居然在两台电脑上运行结果不一样,一台电脑是jdk 5.0,一台电脑是jdk1.4.2,运行单元测试的时候1.4.2的那台无法通过,说缺少类: NoClassDefFound: org.w3c.dom.ranges.DocumentRange,类路径什么的都设置一样,但是两个环境就是运行结果不同,后来终于找到原因,jdk 1.4.x虽然号称实现了w3c的dom api,但是是一个不完全实现,其中并不包含org.w3c.dom.ranges.DocumentRange这一接口的实现,而jdk5.0中已经包含.而使用像xerces.jar这些xml解析工具时就可能出现这种问题.
解决方法:
- 如果还是使用jdk1.4.2的话,区下载xmlParserAPIs.jar包,里面包括了对这一接口的实现
- 或者直接升级jdk版本到5.0