禁用checkstyle maven插件生成的源目录

禁用checkstyle maven插件生成的源目录,maven,checkstyle,maven-checkstyle-plugin,Maven,Checkstyle,Maven Checkstyle Plugin,在多模块项目中,有一个在target/generated sources/xjc3/com/…目录中生成一些源代码。。。我试图让maven checkstyle插件跳过这个生成的源目录。尽管尝试了许多标记语法,但它仍会继续扫描此源目录。有人知道如何从审计中删除这个生成的源目录吗 Maven插件配置 如果所有模块的源文件夹位置一致,则可以将源文件夹锁定为“真实”源 <plugin> <artifactId>maven-checkstyle-plugin</ar

在多模块项目中,有一个在target/generated sources/xjc3/com/…目录中生成一些源代码。。。我试图让maven checkstyle插件跳过这个生成的源目录。尽管尝试了许多标记语法,但它仍会继续扫描此源目录。有人知道如何从审计中删除这个生成的源目录吗

Maven插件配置
如果所有模块的源文件夹位置一致,则可以将源文件夹锁定为“真实”源

<plugin>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <sourceDirectories>
            <sourceDirectory>src/main/java</sourceDirectory>
        </sourceDirectories>
    </configuration>
</plugin>
或者更倾向于包括来源和测试

<sourceDirectories>
    <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> 
    <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory> 
</sourceDirectories>

我还在maven中运行代码生成,它还将target/generated添加为源目录,并使checkstyle中的任何源目录过滤选项无效

以下解决方案有效: 您必须使用显式checkstyle-suppressions.xml配置文件,并从配置中激活它:

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
      <configLocation>checkstyle.xml</configLocation>
      <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
   [...]
用于排除目标文件夹的抑制文件如下所示:

<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
  "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
  "https://checkstyle.org/dtds/suppressions_1_2.dtd">

<suppressions>
  <suppress files="[/\\]target[/\\]" checks=".*" />
</suppressions>
正如这里所讨论的,这种方法应该可以解决这个问题。或者,您可以使用SuppressionFilter。更好的方法是:${project.build.sourceDirectory}${project.build.testSourceDirectory}。感谢您指向这篇文章,我可以解决这个问题。
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
      <configLocation>checkstyle.xml</configLocation>
      <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
   [...]
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
  "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
  "https://checkstyle.org/dtds/suppressions_1_2.dtd">

<suppressions>
  <suppress files="[/\\]target[/\\]" checks=".*" />
</suppressions>