首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》15.3.3 CheckStyle

关灯直达底部

CheckStyle是一个用来帮助Java开发人员遵循编码规范的工具,能根据一套规则自动检查Java代码,使得团队能够方便地定义自己的编码规范。关于该工具的详细信息可以访问http://checkstyle.sourceforge.net/进行了解。

要让Maven在站点中生成CheckStyle报告,只需要配置maven-checkstyle-plugin,如代码清单15-6所示。

代码清单15-6 配置maven-checkstyle-plugin插件

运行mvn site命令后,就能得到图15-7所示的CheckStyle报告。

图15-7 CheckStyle报告

默认情况下,maven-checkstyle-plugin会使用Sun定义的编码规范,读者能够选择其他预置的规则。也可以自定义规则,maven-checkstyle-plugin内置了四种规则:

·config/sun_checks.xml:Sun定义的编码规范(默认值)。

·config/maven_checks.xml:Maven社区定义的编码规范。

·config/turbine_checks.xml:Turbine定义的编码规范。

·config/avalon_checks.xml:Avalon定义的编码规范。

用户可以配置maven-checkstyle-plugin使用上述编码规范,如代码清单15-7所示。

代码清单15-7 配置maven-checkstyle-plugin使用非默认编码规范

通常用户所在的组织会有自己的编码规范,这时就需要创建自己的checkstyle规则文件。如在src/main/resources/目录下定义一个checkstyle/my_checks.xml文件,然后配置<configLocation>checkstyle/my_checks.xml</configLocation>即可。maven-checkstyle-plugin实际上是从ClassPath载入规则文件,因此对于它来说,无论规则文件是在当前项目中还是在依赖文件中,处理方式都是一样的。

对于多模块项目来说,使用maven-checkstyle-plugin会有一些问题。首先,(到本书编写为止)maven-checkstyle-plugin还不支持报告聚合。也就是说,用户无法在聚合项目的报告中得到所有模块的CheckStyle报告。想要在各个模块中重用自定义的checkstyle规则还需要一些额外的配置。具体过程如下:

1)创建一个包含checkstyle规则文件的模块:

2)在聚合模块配置maven-checkstyle-plugin依赖该模块:

3)在聚合模块配置maven-checkstyle-plugin使用模块中的checkstyle规则:

原理就是先创建一个包含自定义规则文件的依赖,然后将该依赖加入到项目的ClassPath中,最后从ClassPath载入规则文件。