Sha*_*ood 5 jpa findbugs eclipselink sonarqube
我正在从FindBugs(2.0.2)和Sonar(3.7.3)得到我认为是通过静态编织EclipseLink(2.5.1)JPA实体生成的代码的误报.具体来说,我看到多次出现
ES_COMPARING_PARAMETER_STRING_WITH_EQ
Comparison of String parameter using == or != in com.test.domain.MyEntity._persistence_set(String, Object)
Run Code Online (Sandbox Code Playgroud)
和
URV_INHERITED_METHOD_WITH_RELATED_TYPES
Inherited method com.test.domain.MyEntity._persistence_get(String) returns more specific type of object than declared
Run Code Online (Sandbox Code Playgroud)
有没有办法消除EclipseLink生成的代码的这些警告,而不必全局禁用规则或完全排除对实体的分析?
非常好的问题!由于您的问题源自 FindBugs,因此您可以使用FindBugs 排除过滤器来解决此问题。特别是,看看<Method>排除情况。您可以指定一个与实体类中的 getter 和 setter 的方法名称相匹配的正则表达式,例如
<Method name="~_persistence_[gs]et" />
Run Code Online (Sandbox Code Playgroud)
这样的过滤器文件可以被所有形式的 FindBugs 使用,包括 Eclipse 插件和 SonarQube。例如,使用 SonarQube ant 任务,您可以将该属性设置sonar.findbugs.excludesFilters为 FindBugs 排除文件的绝对路径。
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |