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部分中的工件版本来获得最新版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值