Cobertura: java.lang.IllegalArgumentException: Unknown attribute type Signature

Wanneer je Cobertura gebruikt icm. JUnit en Ant kan het voorkomen dat Cobertura warnings geeft over java.lang.IllegalArgumentException: Unknown attribute type, bij kwamen types voor als Signature en RuntimeVisibleAnnotations. Cobertura gebruikt ASM voor bytescodeweaving, in het product waar we cobertura voor codecoverage gebruiken wordt een andere versie van ASM gebruikt, deze staat vooraan in het classpath. Read more about Cobertura: java.lang.IllegalArgumentException: Unknown attribute type Signature[…]

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

Ik was aan de slag met een ant build file waarbij junit en cobertura gebruikt worden: &lttarget description=”Run JUnit tests” depends=”compile” name=”test”&gt&ltmkdir dir=”${dir.report}”&gt&ltmkdir dir=”${dir.junit}”&gt&ltjunit showoutput=”yes” printsummary=”yes” haltonfailure=”no”&gt&ltsysproperty file=”${dir.cobertura}/cobertura.ser” key=”net.sourceforge.cobertura.datafile”&gt&ltclasspath&gt&ltpathelement location=”${dir.instrumented}”&gt&ltpathelement location=”${dir.build}”&gt&ltpathelement location=”${tmp.dir.classes}”&gt&ltpathelement path=”${java.class.path}”&gt&lt/classpath&gt&ltformatter type=”xml”&gt&ltbatchtest todir=”${dir.report}/junit”&gt&ltfileset dir=”${tmp.dir.classes}”&gt&ltinclude name=”**/*Test.class”&gt&lt/fileset&gt&lt/batchtest&gt&lt/junit&gt&ltjunitreport todir=”${dir.report}/junit”&gt&ltfileset dir=”${dir.report}/junit”&gt&ltinclude name=”TEST-*.xml”&gt&lt/fileset&gt&ltreport todir=”${dir.junit}” format=”frames”&gt&lt/report&gt&lt/junitreport&gt&lt/target&gt Effect: verschillende NoClassDefFoundErrors in de junit-reports als ik de ant task run vanuit Read more about java.lang.NoClassDefFoundError: net/sourceforge/cobertura/coveragedata/HasBeenInstrumented[…]