Solution of Cobertura Exception "touchJump" when Unit Test

During unit test I encounter a

"java.lang.NoSuchMethodError: net.sourceforge.cobertura.coveragedata.ClassData.touchJump(IIZ)V"

exception. I find there are 2 cobertura.jar in classpath. That jar in /usr/share/ant/lib is v1.9.2, while in ./lib/ is 1.8.1.

When I delete the jar in ./lib, there is a

"java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/HasBeenInstrumented"

exception.

Then I copy cobertura.jar from /usr/share/ant/lib to ./lib, everything goes fine.

Solution of "local class incompatible"

Problem: local class incompatible: stream classdesc serialVersionUID = 2, local class serialVersionUID = 2152686494816595840

Solution: use unzip -q -c cobertura.jar META-INF/MANIFEST.MF, I found the version of this jar is 1.8, while that in other projects is 1.9.1. So I copy the jar of version 1.9.1 to replace that of version 1.8, everything goes fine.

posted on 2014-03-18 08:04  leechau  阅读(218)  评论(0编辑  收藏  举报

导航