我正在尝试排除一个目录从声纳分析。我在我的声纳项目中定义了以下属性。属性文件:

sonar.sources=src/java
sonar.exclusions=src/java/test/****/*.java

我的目录结构是:

src/java/dig
src/java/test/dig

当我运行声纳运行,我得到以下信息:

 INFO  - Excluded sources:
 INFO  -   src/java/test/**/*.java
 INFO  - Excluded tests:
 INFO  -   **/package-info.java

但是当我检查分析结果时,测试目录中的所有包仍然存在。

我只需要告诉声纳不要分析测试目录和它里面的任何包。


当前回答

我能够排除多个目录使用下面的配置(逗号分隔文件夹路径):

sonar.exclusions=system/**, test/**, application/third_party/**, application/logs/**

在运行声纳运行器时,我在日志中得到了以下内容:

Excluded sources: 
  system/**
  test/**
  application/third_party/**
  application/logs/**

其他回答

另一个配置选项是添加maven属性sonar.exclusions。下面是一个pom文件样本,不包括静态jquery目录和静态pdf查看器目录。

<project >
<modelVersion>4.0.0</modelVersion>
<artifactId>my Artifact</artifactId>
<!-- Enviroment variables can be referenced as such: ${env.PATH} -->
<packaging>war</packaging>
<url>http://maven.apache.org</url>

<properties>

    <junit.version>4.9</junit.version>
    <mockito.version>1.9.5</mockito.version>
    <jackson.version>1.9.7</jackson.version>
    <powermock.version>1.5</powermock.version>

    <!--Exclude the files Here-->
    <sonar.exclusions>src/main/webapp/static/jquery_ui/*,src/main/webapp/static/pdf-viewer/*,src/main/webapp/static/pdf-viewer/**,src/main/webapp/static/pdf-viewer/**/*</sonar.exclusions>
</properties>

添加逗号分隔的文件夹路径sonar.exclusions=**/abc/**,**/def/**

这在一个angular项目中是有效的

将这一行添加到声纳项目中。属性文件

例:sonar.exclusions = src / * . java 如果要排除一个文件夹,并且该文件夹中有一个文件,则必须先排除这些文件或逐个添加文件 例如,假设有一个如下所示的文件夹:

src / java应用程序。 src /控制器/ home . java src /服务/ test . java

你必须这样做: sonar.exclusions = src / app.java src /控制器/ * . java, src /服务/ * . java

这对我很有效

只是提一下,一旦你从Sonar中排除了文件,对Jacoco插件做同样的事情:

<configuration>
<excludes>     
<exclude>com/acme/model/persistence/entity/TransactionEntity*</exclude>
<exclude>com/acme/model/persistence/ModelConstants.class</exclude>
</excludes>
</configuration> 

我输入区分大小写,并使用“”,它工作。分析时间从10分钟缩短为3分钟。

# Additional properties that will be passed to the scanner, 
# Put one key=value per line, example:
sonar.exclusions=**\Scripts\**\*,**\Content\**\*