我有以下使用 lombok@Value生成不可变类的代码:
@Value
public class InputDTO {
String field;
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它不同意 checkstyle 可见性修饰符检查,它抱怨此错误:
Variable 'field' must be private and have accessor methods. (18:10) [VisibilityModifier]
Run Code Online (Sandbox Code Playgroud)
我找到了一种解决方法来抑制这样的检查:
@SuppressWarnings("checkstyle:VisibilityModifier")
Run Code Online (Sandbox Code Playgroud)
但是有没有办法让 checkstyle 验证 lombok 生成的代码而不是普通的原始代码?
有一种方法可以在checkstyle.xml配置中禁用此违规一次,而不是@SuppressWarnings在每个文件中使用并污染您的生产代码。
使用SuppressionXpathSingleFilter您可以执行以下操作:
<module name="TreeWalker">
<module name="SuppressionXpathSingleFilter">
<property name="checks" value="VisibilityModifier"/>
<property name="query" value="//*[MODIFIERS//*[@text = 'Value']]/descendant-or-self::node()"/>
</module>
</module>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |