`

Maven 2和Checkstyle

阅读更多

Maven 2和Checkstyle

2007-09-24 14:30:25 | 评论 (0) | 被访问(382)次

<!---->
Gerald Nunn
  Gerald Nunn 是BEA Systems Professional Services的业务首席顾问。他已经结婚了,有一个4岁的儿子,生活在加拿大多伦多北部的纽马基特小镇。


<!---->

  最近,我撰写了一篇文章,讨论了Maven 2与WebLogic Portal的集成,我也发现使用Maven进行工作是非常有趣的事情。Maven 2有一项我频繁使用的出色特性,那就是自动为项目生成一个Web站点的能力。这个Web站点可包含多种生成的报告,其中包括项目信息文档、单元测试结果、javadoc等。

  Maven中可用的报告之一就是Checkstyle报告,我希望利用它来确保遵从组织的编码标准。如果您不熟悉Checkstyle,它会解析您的源代码,并提供一份关于如何使代码遵从给定约定的报告。有关Checkstyle的更多信息,请访问 http://checkstyle.sourceforge.net

  Checkstyle附带一些默认约定,包括Sun编码标准,而大多数组织会加以定制,并创建自己的配置。因而就出现了这样一个问题:如何将此配置集中化,以便在完成一次项目构建时不必手动处理配置。

  幸运的是,使用Maven内置的依赖项机制可轻松解决这个问题。实质上,我们只需将Checkstyle xml配置文件压缩为一个JAR,然后将其安装到一个Maven存储库中即可,通常应是组织的内部Intranet存储库。构建了项目站点后,将自动从存储库中获取此配置,并按需应用。

  这样的配置非常简单,首先,在project pom.xml中,将 we define the dependency on the checkstyle配置JAR上的依赖项定义为一个扩展依赖项,方法如下:

<build>
    <extensions>
        <extension>
            <groupId>com.bea.ps</groupId>
            <artifactId>checkstyle-config</artifactId>
            <version>1.0.0</version>
        </extension>
    </extensions>
</build>

  接下来,在reporting部分的Checkstyle插件配置中引用配置。请注意,Checkstyle plugin将先在URL类路径中搜索资源,之后才会搜索文件系统,这就是可以将配置文件存储在JAR中的原因。下面引用的configLocation是checks.xml在上述checkstyle-config.jar中类路径内的位置。

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <configLocation>config/checks.xml</configLocation>
            </configuration>
        </plugin>
    </plugins>
</reporting>

  就是这样,现在就可以集中管理和控制配置了,项目还可以通过更新extension部分中的工件版本来获得最新版本。

分享到:
评论
1 楼 juvenshun 2008-11-17  
更好的做法:
http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html

相关推荐

Global site tag (gtag.js) - Google Analytics