Missing implementation和InvalidClassException问题一例 20110407

  • Post author:
  • Post category:其他


我相信,在不少新手的Eclipse开发环境的某个项目中,存在多个不同的log4j。你或许有过疑虑,但你可能比较幸运,它们没给你带来什么麻烦。

但有些时候,你是否遭遇到类似Missing implementation of interface method或java.io.InvalidClassException的麻烦?

没错,你可能碰到了某些jar包的新老版本冲突问题了。比如,在你部署应用时,可能会出现异常:

Missing implementation of interface method “org.w3c.dom.Document.setXmlVersion(Ljava/lang/String;)V” in class “org.apache.xerces.dom.DocumentImpl

查看exception stack可以得到更详细的信息。

再看一个错误信息:

java.io.InvalidClassException: com.sap.engine.services.deploy.exceptions.ServerDeploymentException; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = -1675085298538953692

这是因为部署工具上的ServerDeploymentException的版本和服务器上的版本不同,所以会出现串行化的类在反串行化时异常,表现为serialVersionUID问题。

明白了这一点,问题就好解决了。这从一个层面上告诉我们,开发之外有很多需要引起注意的地方。



版权声明:本文为ympc2002原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。