Ant checkstyle禁用特定检查

Ant checkstyle禁用特定检查,ant,checkstyle,Ant,Checkstyle,我正在使用Ant,并希望为所有包、源等启用checkstyle。理想情况下,它可以像在现有构建目标上添加对checkstyle的依赖一样简单,但由于冲突而中断了构建。我不想禁用注释样式,因为这意味着要更改源文件 我想做的禁用是一种特定类型的检查(例如,由于现有代码库中存在数百万条违反规则的行而导致的尾随空格) 有没有办法配置checkstyle来实现这一点?您可以通过在运行时指定的checkstyle配置文件中添加或删除检查来启用和禁用检查。Checkstyle完全运行配置XML中存在的检查(例

我正在使用Ant,并希望为所有包、源等启用checkstyle。理想情况下,它可以像在现有构建目标上添加对checkstyle的依赖一样简单,但由于冲突而中断了构建。我不想禁用注释样式,因为这意味着要更改源文件

我想做的禁用是一种特定类型的检查(例如,由于现有代码库中存在数百万条违反规则的行而导致的尾随空格)


有没有办法配置checkstyle来实现这一点?

您可以通过在运行时指定的checkstyle配置文件中添加或删除检查来启用和禁用检查。Checkstyle完全运行配置XML中存在的检查(例如

无法禁用配置中存在的检查:


也不可能让Checkstyle运行“除EmptyBlock之外的所有检查”,因为不存在“所有检查”这样的东西—可用检查集完全取决于配置XML。但是,它可能是对Checkstyle工具的一个很好的补充,以支持禁用如上所示的检查,因为这将使不使用配置GUI的人的生活更加轻松

如果不希望Checkstyle冲突使生成失败,请将Checkstyle Ant任务的
failOnViolation
参数设置为
false
。您还可以使用
maxWarnings
maxErrors
参数来设置在生成中断之前允许的警告或错误数量的阈值


哪些违规被视为错误,哪些被视为警告,取决于您指定的Checkstyle配置()中单个检查的
严重性
属性。默认的严重性为“警告”。

谢谢,我想我对配置的工作方式比较困惑。具体来说,指定“%”是否意味着checkstyle将只运行3个检查,或者它是否意味着默认情况下checkstyle将运行所有启用的检查,但是对于列出的3个检查,如果指定了,则使用xml中的任何配置值?(例如警告严重性)它将只运行您在示例中指定的检查:三个检查。”“警告”是默认的严重性。是的,我也这么认为。这是非常不幸的,因为如果只运行一个测试,就可以运行所有的测试,比如说
,那么Checkstyle只是一个运行检查的框架,所以没有“所有检查”这样的东西。但在您的情况下,您可以采用正在运行的配置(例如),并从中删除EmptyBlock。那会给你预期的效果。当您切换到其他配置时,只需确保它也不包含EmptyBlock。感谢您的登录。如果你将答案从“确定”编辑为“否”,因为没有“所有检查”这样的东西,我会接受我问题的答案。作为“运行检查的框架”不应成为无法通过可选非崩溃配置结构禁用特定检查的原因。也就是说,您的回答将回答我的问题,而且Checkstyle无疑是一个很棒的框架:)