Насколько я понимаю, инструментированные классы нужны только cobertura для генерации отчетов. Если вы создадите их в target/classes
, они перезапишут исходные файлы классов.
Если в результате вам понадобятся инструментированные файлы в банке, вы можете настроить maven-jar-plugin
на выбор файлов из каталога target/generated-classes
вместо или в дополнение к файлам из стандартного ${build.project.outputDirectory}
.
Редактировать
Взгляните на описание maven-jar-plugin . Чтобы использовать только target/generated-classes
, должно работать следующее дополнение к вашему POM - попробуйте и измените его в соответствии с вашими потребностями:
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version> <!-- replace with correct version nbr! -->
<configuration>
<includes>
<include>${project.build.directory}/generated-classes/**/*.class</include>
</includes>
<excludes>
<exclude>${project.build.directory}/classes/**/*.class</include>
</excludes>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>
${project.build.directory}
указывает на вашу целевую папку, ${project.build.ouputDirectory}
- на цель / классы. Я не знаю, можете ли вы просто установить ${project.build.ouputDirectory}
на новое значение - взгляните на эту главу книги maven , может быть, вы найдете несколько подсказок
Редактировать 2
Альтернативно или дополнительно вы можете использовать maven для копирования файлов из целевых / созданных классов в целевые / классы после завершения coberture:instrument
. На этот вопрос есть один ответ с примером POM (фрагмент), вам просто нужно определить правильную фазу (ресурсы процесса определенно слишком рано для вашего случая)