忽略渐变生成中的检查样式异常



我在代码中使用Java14功能。从2020年9月起,这将在Checkstyle中实现。在此之前,它会导致异常。

示例java代码:

switch (day) {
case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
case TUESDAY                -> System.out.println(7);
case THURSDAY, SATURDAY     -> System.out.println(8);
case WEDNESDAY              -> System.out.println(9);
}

我将checkstyle配置为不在异常时停止:

<property name="haltOnException" value="false"/>

这仍然导致checkstyle失败:

ant:checkstyle] [ERROR] /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java:1: Got an exception - com.puppycrawl.tools.checkstyle.api.CheckstyleException: IllegalStateException occurred while parsing file /home/runner/work/jabref/jabref/src/main/java/org/jabref/logic/layout/format/AuthorAndsReplacer.java.
> Task :checkstyleMain
[ant:checkstyle]    at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:105)

检查时是否可以忽略解析错误?

我仍然想检查其他类

您必须使用https://checkstyle.org/config_filefilters.html#BeforeExecutionExclusionFileFilter在Checkstyle配置中告诉Checkstyle根本不处理这些文件。这将排除所有在所述文件上运行的模块,包括使用Java解析器的模块和不使用Java语法分析器的模块。Checkstyle中没有其他方法可以避免解析这些文件。

我不太了解Gradle,但Checkstyle命令行有-e-x参数,也可以忽略文件。这将导致与上述过滤器相同类型的排除。如果gradle可以使用Checkstyle的命令行,那么这是另一个选项,但同样,只是以不同的方式复制过滤器。

您可以使用:来实现它

checkstyle {
sourceSets = []
}

也可以使用命令行参数:

gradle build -x checkstyleMain

最新更新