繁体   English   中英

在多模块项目中禁用Maven Checkstyle,PDM以获取Groovy源代码

[英]Disable maven checkstyle, pmd for groovy sources in multimodule project

我有一个多模块的Maven项目,我找不到禁用groovy源的pmd,checktyle的方法。

我确实从顶层运行命令:

mvn clean install pmd:pmd checktyle:checkstyle

我的项目的结构是:

pom.xml
-module1
 src
   main
      groovy          
   test
      groovy

-module2
 src
   main
      groovy
      java
  test
      groovy

我不希望pmd / checkstyle检查我的常规文件。 这是pluginManagement内的parent pom部分:

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.7.1</version>
    <configuration>
        <format>xml</format>
        <targetJdk>1.6</targetJdk>
        <linkXRef>false</linkXRef>
        <!--
          <excludeRoots>
            <excludeRoot>${project.basedir}/src/main/groovy</excludeRoot>
            <excludeRoot>${project.basedir}/src/test/groovy</excludeRoot>
          </excludeRoots>
        -->
        <!--
        <excludeRoots>
          <excludeRoot>
           ${project.basedir}/target/generated-sources/groovy-stubs
          </excludeRoot>
        </excludeRoots>
        -->
        <excludes>
           <exclude>**/generated-sources/groovy-stubs/**/*.java</exclude>
        </excludes>
      <rulesets>
       <ruleset>
        ${rule.repository.url}/pmd/rules/pmd-rules/1.0.4.2/pmd-rules-1.0.4.2.xml
       </ruleset>
      </rulesets>
     </configuration>
 </plugin>

module1在pom.xml中没有对pmd / checktyle插件的任何引用。 无论如何,将md校验样式应用于groovy源。

module2确实在pom.xml中引用了这些插件,但仍然不能忽略groovy。

我做错了什么?

如果使用调试选项(-X)运行Maven,则可以查看PMD插件已处理的所有目录。 所有目录都列在变量compileSourceRoots中。

您可以使用那些排除项来禁用groovy-stub的PMD:

<excludeRoots>
    <excludeRoot>${project.build.directory}/generated-sources/groovy-stubs/main</excludeRoot>
    <excludeRoot>${project.build.directory}/generated-sources/groovy-stubs/test</excludeRoot>
</excludeRoots>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM