Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven:在Windows上,Checkstyle插件不应用抑制过滤器_Java_Windows_Maven_Intellij Idea_Checkstyle - Fatal编程技术网

Java Maven:在Windows上,Checkstyle插件不应用抑制过滤器

Java Maven:在Windows上,Checkstyle插件不应用抑制过滤器,java,windows,maven,intellij-idea,checkstyle,Java,Windows,Maven,Intellij Idea,Checkstyle,在Linux/MacOS上,Checkstyle插件按预期应用抑制过滤器,但在Windows上,似乎没有应用过滤器,生成失败,并在suppressions.xml文件中显示要抑制的确切警告 有什么问题吗 pom.xml中的代码段: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin

在Linux/MacOS上,Checkstyle插件按预期应用抑制过滤器,但在Windows上,似乎没有应用过滤器,生成失败,并在suppressions.xml文件中显示要抑制的确切警告

有什么问题吗

pom.xml中的代码段:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <phase>process-sources</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
            <configLocation>google_checks.xml</configLocation>
             <suppressionsLocation>foo/bar/checkstyle/suppressions.xml</suppressionsLocation>
             <consoleOutput>true</consoleOutput>
            <failsOnError>true</failsOnError>
            <failOnViolation>true</failOnViolation>
            <violationSeverity>warning</violationSeverity>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
        </configuration>
      </plugin>
这就是整个suppressions.xml:

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
    <suppress checks="NonEmptyAtclauseDescription" files=".*"/>
    <suppress checks="AbbreviationAsWordInName" files="/foo/bar/.*IT.java"/>
    <suppress checks="JavadocMethod" files="/foo/bar/.*"/>
</suppressions>

基于Unix的systemsLinux/MacOS,使用正斜杠/作为路径分隔符。但Windows使用反斜杠\来实现此目的。这就是为什么正则表达式与文件路径不匹配,并且没有应用任何抑制。 path正则表达式在Linux/MacOS和Windows上工作的一种方法是将斜杠替换为“[/\\]”,并接受两个斜杠作为路径分隔符。 例如:


google_checks.xml位于何处?您的配置必须包括SuppressionFilter或类似的筛选器,才能使抑制生效。看见
<suppress checks="AbbreviationAsWordInName" files="[/\\]foo[/\\]bar[/\\].*IT.java"/>