2012-11-17 31 views
42

我想定义一个pom文件中的checkstyle运行,并将其运行在所有子模块中,但某些特定的子模块除外防止checkstyle在特定的maven子模块中运行

换句话说,我需要某种<excludes>(它存在但适用于文件名),但其目标模块。任何想法的人?

回答

58

放入你想要的项目,下面的CheckStyle停用:

<project> 
    ... 
    <properties> 
    ... 
    <checkstyle.skip>true</checkstyle.skip> 
    ... 
    </properties> 
    ... 
</project> 

的Checkstyle将继续运行,但会执行任何操作...

也就是说,除非你覆盖默认的maven-checkstyle-plugin's skip parameter结合在这种情况下,你可以实现与当然,除非你有o在具体项目

<project> 
    ... 
    <build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
     <artifactId>maven-checkstyle-plugin</artifactId> 
     <configuration> 
      <skip>true</skip> 
     </configuration> 
     </plugin> 
     ... 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 

以下相同的效果在执行过程中跳过skip参数...但是如果你知道那是你也知道解决方案,并且不会问这个问题;-)

+0

非常感谢,我完全错过了跳过选项!附注,对未来的访问者不重要:我真正的问题是你回答的问题[这里](http://stackoverflow.com/questions/13430904/duplicate-checkstyle-warnings-in-a-jenkins-maven-multimodule-工作),不幸的是这不会帮助我:/ – Miquel

93

如果你不想更改你的pom.xml,你可以设置使用-D选项从命令行跳转到true。 上面提到这是“在执行中重写skip参数”。 这与-Dmaven.test.skip = true的用法非常相似。

mvn site -Dcheckstyle.skip=true 
+2

它会与Maven发布插件? –

+5

对于maven发布插件,使用-Darguments =“ - Dcheckstyle.skip = true”。 – Joschua

相关问题