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

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=src/java/test/**

其他回答

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

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

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

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

最简单的方法是在启动服务器(localhost:8080)后进入服务器URL,然后以管理员身份登录,进入设置>排除>源文件排除-在这里添加您的包。 重新启动服务器。

你用的是什么声纳? 有一个选项叫做“sonar.skippedModules=yourmodulename”。

这将跳过整个模块。所以要注意这一点。

这将适用于您的情况:

sonar.exclusions=**/src/java/dig/ ** , **/src/java/test/dig/ **

这招对我很管用:

sonar.exclusions=src/**/wwwroot/**/*.js,src/**/wwwroot/**/*.css

它排除了“wwwroot”文件夹的任何子目录下的任何。js和。css文件,作为“src”文件夹(项目根)的子目录之一出现。