Domanda

Ho un progetto Maven 2 e voglio configurare il mio rapporto plug Checkstyle in modo che solo alcune delle mie classi vengono analizzati. Ho trovato la proprietà maven.checkstyle.excludes, ma nonostante questo passando come parametro di riga di comando (usando -D=maven.checkstyle.excludes=...) non riesco a farlo funzionare. Non riesco a trovare nulla sulla pagina di documentazione Plugin. Idealmente mi voglio essere in grado di impostare questo nella sezione <configuration> della mia POM.

È stato utile?

Soluzione

Se questa domanda è su Maven 2, quindi la proprietà è excludes e prende un elenco separato da virgole dei modelli Ant. Quindi, o passare questo sulla riga di comando:

-Dexcludes=**/generated/**/*

o impostarla nella configurazione del plugin:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-checkstyle-plugin</artifactId>
   <configuration>
       <excludes>**/generated/**/*</excludes>
   </configuration>
</plugin>

Un'altra opzione sarebbe quella di utilizzare un filtro di soppressione .

Per esempio si potrebbe utilizzare il SuppressionCommentFilter per eventi di controllo Sopprimere tra una contenente CHECKSTYLE:OFF commento e un commento contenente CHECKSTYLE:ON (poi basta aggiungere questi commenti alle classi o parti di codice che non vuoi al controllo).

Altri suggerimenti

Se, come me, è arrivato qui alla ricerca di un modo per escludere generato fonti da checkstyle, fare questo:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-checkstyle-plugin</artifactId>
  <version>2.15</version>
  <configuration>
    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
  </configuration>
</plugin>

Per impostazione predefinita, il checkstyle:checkstyle obiettivo del checkstyle plugin utilizza ${project.compileSourceRoots}, che comprende quanto pare directory di origine generati.

Se si modifica a ${project.build.sourceDirectory}, userà solo la directory di origine, le directory di origine non alcun generati.

Si noti che mentre <sourceDirectory> è deprecato, l'alternativa, <sourceDirectories>, non sembra al lavoro.

Inoltre, se si desidera escludere più le cartelle indipendenti, è possibile aggiungere più percorsi da virgole indipendente separato come questo

<excludes>org/log4j/*,com/acme/**/*,com/companyb/*</excludes>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top