在Eclipse中运行单元测试时发现的AbstractMethodError不是在Cygwin中运行时发现的

时间:2011-11-30 21:50:29

标签: java eclipse cygwin jdk1.6

这是堆栈跟踪: java.lang.AbstractMethodError:

org.apache.xerces.dom.DeferredDocumentImpl.getXmlStandalone()Z
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:661)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    ...

我在Eclipse中运行单元测试时遇到了这个问题,但如果我在Cygwin中使用Maven运行它,一切正常。我在之前的帖子中搜索过,并了解"this error can only occur at run time if the definition of some class has incompatibly changed since the currently executing method was last compiled."我的问题是,不同的结果表明了什么? Eclipse项目设置中使用了错误的jar(包)?我在Cygwin中使用jdk 1.6.0_27,Eclipse项目具有相同的设置。谢谢。

1 个答案:

答案 0 :(得分:0)

这是因为您在类路径中没有xercesImpl.jar

如果您使用xerces.jar,请将其从类路径中删除,并在类路径中添加xercesimpl.jar