SonarQube测试用例规则不会将Eclipse的@Test注释考虑在内

我看到的问题与此问题类似。 当运行mvn sonar:sonar作为对Maven项目的Jenkins后构建操作时,JUnit测试中的@Test和@Ignore注释被正确识别。 当我通过SonarQube Eclipse插件在同一项目上运行SonarQube预览时,注释无法识别,并且显示(错误的)主要错误问题。

我已按照这里和此处的安装和配置Eclipse插件的说明进行操作。 我错过了某处的配置吗?

  • 带有Java插件的SonarQube服务器5.1.2 3.4
  • Eclipse Luna 4.4.0
  • m2e 1.6.1.20150625
  • 适用于Eclipse的SonarQube集成3.5.0.20150804-1512-RELEASE(4个function)
  • Apache Maven 3.2.2(适用于Jenkins和Eclipse)

更新:

我的多模块项目结构如下:

 Top level aggregator POM (is not the parent) Project parent POM Module 1 (extends project parent) Module 2 (extends project parent) 

展开顶级目录时,没有Maven Dependencies子目录,因为顶级POM不包含任何依赖项(仅限modules块)。 我在顶层运行SonarQube分析,因此SonarQube Eclipse插件没有所需的依赖项,我看到了错误。 如果我在其中一个模块上运行分析,我只会看到预期的错误,而不是额外的错误。

此问题通常是由缺少测试类路径(缺少或错误的sonar.java.test.libraries /二进制文件)引起的。 由于https://jira.sonarsource.com/browse/SONARJAVA-1193,更新到SQ Java插件3.5至少会隐藏问题。

更新:

如果您使用的是m2e,那么在导入多模块Maven项目时,您应该为每个Maven模块获得一个Eclipse项目。 然后你应该对每个叶子模块运行SonarQube分析。