Symptoms
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Compilation failure C:\source\location\target\clover\src-test\com\acme\SomeClass.java:[11,35] cannot find symbol symbol: class SomeClass
You have a Maven project that compiles and installs just fine, but when run with the Clover goals on it fails with the above error. The project is set up a little bit different, as the source is in two folders, for example: src/main/java/core, and src/main/java/gen. The maven-compiler-plugin is configured to handle this as below:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <includes> <include>core/**</include> <include>gen/**</include> </includes> <source>1.5</source> <target>1.5</target> </configuration> </plugin>
Cause
Clover does not understand the above definition of source roots.
Resolution
Maven's best practice is to use the build-helper-maven-plugin to add alternate source directories, instead of using <includes> in the maven-compiler-plugin.
Please remove the <includes> from the maven-compiler-plugin and add the following definition to your pom.xml:
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/java/core</source> <source>src/java/gen</source> </sources> </configuration> </execution> </executions> </plugin>