【问题标题】:SonarQube ignore (sonar.issue.ignore.allfile) @Entity filesSonarQube 忽略 (sonar.issue.ignore.allfile) @Entity 文件
【发布时间】:2017-05-30 21:59:27
【问题描述】:

我正在尝试让 SonarQube (6.3.1) 使用 sonar.issue.ignore.allfile 选项排除所有与 JPA 实体相关的类。

我已经使用 SonarQube 网络界面设置了这个参数:

(注意——我使用的是@Column 而不是@Entity,因为所有受影响的类都包含@Column 注释,但并非所有这些都是顶级@Entity 类)

但是,SonarQube 仍会分析我试图忽略的类并将它们标记为具有高度重复性。我的目标是将它们完全排除在所有检查之外 - 重复、代码异味、测试覆盖率等。

我查看了 SonarQube docs 的此属性,但看不出哪里出错了。有什么想法吗?

package com.example;

import javax.persistence.*;

public class BWDetails {

    @Column(name="ENTITY_NO")
    private Long entityNo;

    @Column(name="FIRSTNAME")
    private String firstName;
    //----snip------
}

【问题讨论】:

  • 更多信息:我考虑将这些文件移动到指定的包中并使用 {sonar.coverage.exclusions} / {sonar.cpd.exclusions} / {sonar.global.exclusions} 忽略它们,但我实际上无法更改包结构,我不想使用这些基于文件夹的排除项,因为它们将应用于应该分析的不相关文件

标签: jpa sonarqube


【解决方案1】:

您设置的排除项是问题排除项,因此只会关闭问题。

要完全忽略这些文件,您需要在排除页面的“文件”部分中列出它们,尤其是在sonar.exclusions 字段中。请注意,此字段接受 1) 多个值 2) 模式,因此,如果这些文件在类名中有一个公共元素,则可能是一种处理此问题的方法,而无需详尽列出要忽略的每个文件。

【讨论】:

  • 谢谢 - 所以要明确一点:在 SQ 术语中,代码重复不是问题的一种,这就是我设置的问题排除 (sonar.issue.ignore.allfile) 没有的原因有效果吗?
  • 完全是@johnd。
猜你喜欢
  • 2019-09-30
  • 2016-10-16
  • 2015-05-23
  • 2016-01-02
  • 2018-04-26
  • 2020-02-27
  • 2022-01-09
  • 2018-06-30
  • 2020-03-30
相关资源
最近更新 更多