I have a Maven 2 project and I want to configure my Checkstyle report plugin so that only some of my classes are analysed. I have found the maven.checkstyle.excludes
property, but despite passing this as a command line parameter (using -D=maven.checkstyle.excludes=...
) I can't get it to work. I can't find anything on the Plugin documentation page. Ideally I want to be able to set this in the <configuration>
section of my POM.
If you want to disable checkstyle from your pom, you can add the checkstyle plugin to the pom and set the skip flag to prevent the check.
It will also generate the violation report for the project which is available as a view in Eclipse. To view to violation report, go to Window -> Show View -> Other, and search for Checkstyle. Options for Violations and Violations Chart should be displayed.
If, like me, you arrived here searching for a way to exclude generated sources from checkstyle, do this:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.15</version> <configuration> <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> </configuration> </plugin>
By default, the checkstyle:checkstyle
goal of the checkstyle plugin uses ${project.compileSourceRoots}
, which apparently includes generated source directories.
If you change it to ${project.build.sourceDirectory}
, it will use only the source directory, not any generated source directories.
Note that while <sourceDirectory>
is deprecated, the alternative, <sourceDirectories>
, does not appear to work.
Edit: In comments, @Cyrusmith, @Ben, and @Olivier Callioux report that as of 2017, <sourceDirectories>
works; I cannot confirm.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With