配置Sonar以从Maven pom中排除文件.xml

2022-08-31 16:34:50

我有一个在maven中配置的项目,代码分析由SonarQube完成。

我正在尝试在pom.xml文件中配置SonarQube,以从代码分析中排除一些文件。这些文件可以通过它们的类名来标识,它们在扩展名之前包含下划线字符(它们是元模型类)。下面我给出了pom.xml文件的部分,我试图在其中排除它们:

<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>

但是,上述代码不起作用。有没有办法从我的pom.xml文件中配置SonarQube,以便在分析源代码时忽略这些文件?

提前感谢您。


答案 1

声纳排除项(与其他声纳属性一样)必须添加到 POM 文件的<属性>部分。像这样(从当前项目中排除jOOQ自动生成的代码的示例):

<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>

答案 2

中提到的类/包从Sonar的所有静态分析中排除了给定的类,但是仅将给定的类/包排除在覆盖范围之外,并且仍然要分析其他参数。<sonar.exclusions><sonar.coverage.exclusions>

<properties>
    <sonar.coverage.exclusions>
        **/domain/**/*,
        **/pojos/*
    </sonar.coverage.exclusions>
</properties>

参考:

源:


推荐