2015-07-13 2 views
13

В моем проекте java я создал классы, которые находятся внутри такой же папки пакета, что и другие классы. Я хотел бы настроить jacoco Maven плагин, чтобы исключить эти сгенерированные классы и только классы использования в главном/Src папке/Java (не SRC/главная/Java-порожденной)Исключить папку в отчете о покрытии jacoco

структура

проекта:
SRC/главная/Java/ком/компания/джон/Good.java < ---- это включает
SRC/главная/Java сгенерированных/COM/компании/джон/AutoGeneratedClass.java < ---- это исключает

<plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.7.5.201505241946</version> 
      <configuration> 
       <includes> 
       </includes> 
       <excludes> 
        <exclude>**/*Dto.*</exclude> 
       </excludes> 
      </configuration> 
      <executions> 
       <execution> 
        <id>default-prepare-agent</id> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>default-report</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>report</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>default-check</id> 
        <goals> 
         <goal>check</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

I знаете, что 1 вариант - добавить префикс к сгенерированному классу, fi _ и использовать это для фильтрации, но мне интересно, есть ли другой вариант. Как указать папку исходного проекта (src/main/java) и, таким образом, исключить все остальные папки? Является ли плагин основан только на именах пакетов?

ответ

9

Я думаю, что это невозможно, потому что ваши скомпилированные классы находятся в одном каталоге цели. И Jacoco нуждается в скомпилированных классах, и поэтому вы не можете фильтровать источники.

Вы можете исключить классы в отчете Jacoco, установив путь исключения, но значения должны быть путем скомпилированных классов относительно каталога target/classes /.

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <configuration> 
     <excludes> 
      <exclude>**/*.class</exclude> 
     </excludes> 
    </configuration> 
</plugin> 

Лучшим решением было бы сгенерировать классы в определенном пакете. Но, возможно, вы не можете.

+0

Благодарим за ответные дамбы и за указание на цель/классы/каталог – troger19

4

Просто нижеследующее решило мою проблему игнорирования пакета, а не файлов.

<configuration> 
    <excludes> 
     <exclude>**/basepkg/subpkg1/subpkg2/*</exclude> 
    </excludes> 
</configuration>