maven javadoc中文乱码问题和CheckStyle编码规范检测

介绍
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从 而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
CheckStyle默认提供一下主要检查内容:
  •Javadoc注释
  •命名约定
  •标题
  •Import语句
  •体积大小
  •空白
  •修饰符
  •块
  •代码问题
  •类设计
  •混合检查(包活一些有用的比如非必须的 System.out和printstackTrace)
  从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范 的检查,而没有提供象PMD和Jalopy那么多的增强代码质量和修改代码的功能。但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。
Eclipse插件安装和使用
步骤一:http://sourceforge.net/projects/checkclipse/下载checkstyle的eclipse插件checkclipse。下载后,将包放入eclipse的plugins文件夹下,然后重启eclipse。在Windows—>preferences下找到checkclipse。如下图:

勾选Set Project Dir as Checkjstyle Basedir
步骤二:右键选中你要进行checkstyle的项目文件,选择“properties”。如下图:

勾选Enable Checkstyle和Set Project ClassLoader.
然后再Checkstyle Configuraion File中选择项目中checkstyle的配置文件。这里我把配置文件时放置在项目根目录下,所以点击右侧“Browse”按钮,在项目根目录下选择该文件。按“OK”按钮。
这样整个项目的代码将根据配置文件中设置的原则进行出错提示.结果如下图:

由图可知对不符合代码规范的代码会有错误提示,并且有提示信息。
Maven插件安装和使用
首先,修改要检查代码库top级的pom.xml文件,在build部分配置CheckStyle的Maven插件,以便于下载安装对应版本的插件(Maven会自动从其镜像库中下载),方法如下:
Java代码

...



org.apache.maven.plugins
maven-checkstyle-plugin
2.3



...


maven-checkstyle-plugin的最新版本为2.5,其对应的CheckStyle核心版本为5.0;maven-checkstyle-plugin 2.3对应的CheckStyle核心版本为4.4。查看插件的pom文件,可看到如下内容,其中的版本号就为对应的CheckStyle的版本号。
Java代码

checkstyle
checkstyle
4.4


接下来,将自定义的规则配置文件拷贝到top级目录,在reporting部分的CheckStyle插件配置中引用配置。
Java代码



org.apache.maven.plugins
maven-checkstyle-plugin

my_checks.xml





也可以将配置文件放在子文件夹下,配置中带上相对路径即可。
Java代码



org.apache.maven.plugins
maven-checkstyle-plugin

build-tools/src/main/resources/xx/my_checks.xml





如果使用插件自带的规则文件,可以作如下配置。maven-checkstyle-plugin插件自带的规则有sun_checks.xml、maven_checks.xml等,可查看插件包。
Java代码



org.apache.maven.plugins
maven-checkstyle-plugin

config/maven_checks.xml

2.3




在reporting部分增加jxr插件,生成代码报告,这样在CheckStyle报告 中点击问题对应的链接就可以直接看到出错的代码。

Java代码



org.apache.maven.plugins
maven-checkstyle-plugin

my_checks.xml

2.3


org.apache.maven.plugins
maven-jxr-plugin




在build和reporting部分增加javadoc插件,如果pom文件中已经配置,则只需作相应修改。charset、encoding、docencoding配置用于解决生成的javadoc文件中文乱码问题;aggregate配置为true则javadoc报告会集中显示所有子模块的javadoc。

Java代码



org.apache.maven.plugins
maven-javadoc-plugin
2.4

true
UTF-8
UTF-8
UTF-8



org.apache.maven.plugins
maven-checkstyle-plugin

my_checks.xml

2.3


org.apache.maven.plugins
maven-jxr-plugin




在maven插件中使用 install命令将pom文件中配置的插件下载安装到本地,然后使用checkstyle:checkstyle命令进行检查并生成报告,运行完毕,各项目目录下会生成target目录,target\site\checkstyle.html即为该项目的问题报告。
需要注意的是checkstyle:checkstyle仅生成CheckStyle相关报告,因此不能从报告中直接链接到错误代码;需要同时生成jxr源代码,使用site。
如果运行checkstyle:checkstyle或site过程中出现如下错误,则应该修改CheckStyle规 则配置文件,去除其中的中文字符。
Java代码
“[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An error has occurred in Checkstyle report generation.

Embedded error: Failed during checkstyle configuration
Invalid byte 1 of 1-byte UTF-8 sequence.


最佳实践
自定义的checkstyle配置文件
  以下代码是自定义的checkstyle配置文件内容,相关说明都已经用注释形式写在文件中。代码如下:
Java代码
"-//Puppy Crawl//DTD Check Configuration 1.2//EN"
"http://www.puppycrawl.com/dtds/configuration_1_2.dtd">



















































































































































































CheckStyle应用的最佳实践
  采用CheckStyle以后,编码规范的检查就变得及其简单,可以作为一项切实可行的实践加以执行。
  一般情况下,在项目小组中引入CheckStyle可以按照下面的步骤进行:
  1. 强调Code Review与Code Conventions的重要作用;
  2. 介绍CheckStyle;
3. 初步应用CheckStyle:参照CheckStyle附带的配置文件,酌情加以剪裁,在项目的Maven配置文件中,添加CheckStyle任务,可以 单独执行;
  4. 修改、定型CheckStyle的配置文件:按照基本配置文件执行一段时间(2~3周),听取开发人员的反馈意见,修改配置信息;
  5. 作为开发过程的日常实践,强制执行CheckStyle:稳定CheckStyle的配置信息,同时将CheckStyle任务作为Build的依赖任务 或者配置SCM(目前,CheckStyle可以与SVN有效集成),使得代码在加入系统 之前必须通过检查。
  同时需要指出的是,CheckStyle的有效执行需要依赖的条件:
•IDE Format Code的强大功能:由于CheckStyle本身并没有提供很强大的Code Format等功能,因此,需要借助IDE的帮助,从而使得在发生错误的时候,可以很容易的进行修复。
IDE格式配置使用介绍
在eclipse中的windowpreferencesjavacode style中可以导入自定义的java编码风格文件。如下图:

点击“Clean Up”,在右侧可以看见一个Import按钮,导入自定义的cleanup文件,点击“OK”即可。左侧的“Formatter”也是如法炮制。具体自定义的checkstyle,cleanup,formatter文件可参考压缩包文件中的公司代码规范文件夹。

你可能感兴趣的:(maven javadoc中文乱码问题和CheckStyle编码规范检测)