I am trying to upgrade to Java 7 on an Ant project which will use Cobertura 2.0.3.
Cobertura target in build.xml:
<target name="process-classes" depends="compile" description="post-process the generated files from compilation, for example to do bytecode enhancement on Java classes.">
<path id="cobertura.auxpath">
<pathelement path="${target.dir}/classes"/>
<pathelement location="classes"/>
</path>
<mkdir dir="${target.dir}/cobertura-ser" />
<mkdir dir="${target.dir}/cobertura-classes" />
<!-- Copy all the files into the file that eventually get's built into the instrumented JAR -->
<copy todir="${target.dir}/cobertura-classes">
<fileset dir="${target.dir}/classes" />
</copy>
<!-- Instrument all the classes in place -->
<cobertura-instrument todir="${target.dir}/cobertura-classes"
datafile="${target.dir}/cobertura-ser/cobertura.ser"
classpathref="cobertura.path">
<fileset dir="${target.dir}/cobertura-classes" >
<include name="**/*.class" />
</fileset>
<auxClasspath>
<path refid="cobertura.auxpath" />
</auxClasspath>
</cobertura-instrument>
</target>
I am seeing ClassNotFoundException and ExceptionInInitializerError during the instrumentation phase of the build.
[cobertura-instrument] Cobertura 2.0.3 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
[cobertura-instrument] Sep 16, 2014 1:53:50 PM net.sourceforge.cobertura.coveragedata.TouchCollector registerClass
[cobertura-instrument] SEVERE: Exception when registering class: {path}/dao/DefaultDAO
[cobertura-instrument] java.lang.ClassNotFoundException: {path}.dao.DefaultDAO
[cobertura-instrument] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[cobertura-instrument] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[cobertura-instrument] at java.security.AccessController.doPrivileged(Native Method)
[cobertura-instrument] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[cobertura-instrument] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
[cobertura-instrument] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[cobertura-instrument] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[cobertura-instrument] at java.lang.Class.forName0(Native Method)
[cobertura-instrument] at java.lang.Class.forName(Class.java:266)
[cobertura-instrument] at net.sourceforge.cobertura.coveragedata.TouchCollector.registerClass(TouchCollector.java:80)
[cobertura-instrument] at {path}.dao.DefaultDAO.__cobertura_init(DefaultDAO.java)
[cobertura-instrument] at {path}.dao.DefaultDAO.<clinit>(DefaultDAO.java)
[cobertura-instrument] WARN instrumentClass, Unable to instrument file C:\code\policy\main\policy-base\target\cobertura-classes\{path}\persistence\cascade\builder\BuildingCascadeBuilder.class
[cobertura-instrument] java.lang.ExceptionInInitializerError
[cobertura-instrument] at java.lang.Class.forName0(Native Method)
[cobertura-instrument] at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266)
[cobertura-instrument] at java.lang.Class.forName(Class.java:266)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.CoberturaClassWriter.getCommonSuperClass(CoberturaClassWriter.java:32)
[cobertura-instrument] at org.objectweb.asm.ClassWriter.a(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.Frame.a(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.Frame.a(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.MethodVisitor.visitMaxs(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.util.CheckMethodAdapter.visitMaxs(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.MethodVisitor.visitMaxs(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.commons.LocalVariablesSorter.visitMaxs(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.tree.MethodNode.accept(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.util.CheckMethodAdapter$1.visitEnd(Unknown Source)
[cobertura-instrument] at org.objectweb.asm.MethodVisitor.visitEnd(Unknown Source)
What am I doing wrong?