Configure Sonar to exclude files from Maven pom.xml

java, maven, sonarqube, xml

Solution

Sonar exclusions (like other sonar properties) have to be added to the `<properties>` section of the POM file. Like so (example from excluding jOOQ autogenerated code from current project):

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <sonar.host.url>http://www.example.com/</sonar.host.url>
    <sonar.jdbc.url>jdbc:postgresql://www.example.com/sonar</sonar.jdbc.url>
    <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
    <sonar.jdbc.username>sonar</sonar.jdbc.username>
    <sonar.jdbc.password>sonar</sonar.jdbc.password>
    <sonar.exclusions>org/binarytherapy/generated/**/*, **/GuiceBindComposer.java</sonar.exclusions>
    <sonar.dynamic>reuseReports</sonar.dynamic>
</properties>

Problem

I have a project configured in maven and the code analysis is done by SonarQube. I am trying to configure SonarQube in the pom.xml file to exclude a few files from the code analysis. Those files can be identified by their class names, they contain the underscore character before the extension (they are metamodel classes). Below I give the part of the pom.xml file where I try to exclude them: ``` <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>2.2</version> <configuration> <sonar.sources>src/main/java</sonar.sources> <sonar.exclusions>file:**/src/main/java/**/*_.*</sonar.exclusions> </configuration> </plugin> ``` However, the above code does not work. Is there a way to configure SonarQube from my pom.xml file to ignore those files when analysing the source code? Thank you in advance.

Original source