两个Java代码检查工具PMD---它会对代码中的如下部分进行检查:未使用的本地变量空的catch块未使用参数空if语句重复的import语句未使用的私有方法可能是Singletons的类短/长变量及方法名字安装方法:先下载插件(附件中),安装方法如下:打开Myeclipse-Help-Searchfornewfeaturestoinstall-newArchivedsite-选择下载的包(附件中有)-安装-重启Myeclipse-完成CheckStyle---检查如下部分:Javadoc注释命名约定标题Import语句体积大小空白修饰符块混合检查(包活一些有用的比如非必须的System.out和printstackTrace)它们的作用不像PMD,Checkstyle能够检查Javadoc注释;但是PMD提供了一项叫作CPD的很有用的功能,它检查代码的拷贝粘贴部分。我使用PMD找到的最频繁的错误是未使用的import语句,未使用的私有变量以及意外重复拼写。Checkstyle可以发现更多的错误。包括漏掉的Javadoc注释,超过80个字符的行、不合约定的变量名、用tab来代替空格等等。两个工具都允许创建自定义的规则。如果想在你的组织中使用它们中的一个,Checkstyle似乎更好一些:它检查公司编码约定的大多数项目。如果增强代码质量是主要目标,那PMD是一个好的选择.安装方法:打开Myeclipse-Help-Searchfornewfeaturestoinstall-newRemotesite-输入URL:安装-重启Myeclipse-完成CheckStyle使用手册介绍CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。CheckStyle默认提供一下主要检查内容:•Javadoc注释•命名约定•标题•Import语句•体积大小•空白•修饰符•块•代码问题•类设计•混合检查(包活一些有用的比如非必须的System.out和printstackTrace)从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供象PMD和Jalopy那么多的增强代码质量和修改代码的功能。但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。Eclipse插件安装和使用步骤一:下载checkstyle的eclipse插件checkclipse。下载后,将包放入eclipse的plugins文件夹下,然后重启eclipse。在Windows—preferences下找到checkclipse。如下图:勾选SetProjectDirasCheckjstyleBasedir步骤二:右键选中你要进行checkstyle的项目文件,选择“properties”。如下图:勾选EnableCheckstyle和SetProjectClassLoader.然后再CheckstyleConfiguraionFile中选择项目中checkstyle的配置文件。这里我把配置文件时放置在项目根目录下,所以点击右侧“Browse”按钮,在项目根目录下选择该文件。按“OK”按钮。这样整个项目的代码将根据配置文件中设置的原则进行出错提示.结果如下图:由图可知对不符合代码规范的代码会有错误提示,并且有提示信息。Maven插件安装和使用首先,修改要检查代码库top级的pom.xml文件,在build部分配置CheckStyle的Maven插件,以便于下载安装对应版本的插件(Maven会自动从其镜像库中下载),方法如下:Java代码1.project2....3.build4.plugins5.plugin6.groupIdorg.apache.maven.plugins/groupId7.artifactIdmaven-checkstyle-plugin/artifactId8.version2.3/version9./plugin10./plugins11./build12....13./projectmaven-checkstyle-plugin的最新版本为2.5,其对应的CheckStyle核心版本为5.0;maven-checkstyle-plugin2.3对应的CheckStyle核心版本为4.4。查看插件的pom文件,可看到如下内容,其中的版本号就为对应的CheckStyle的版本号。Java代码1.dependency2.groupIdcheckstyle/groupId3.artifactIdcheckstyle/artifactId4.version4.4/version5./dependency接下来,将自定义的规则配置文件拷贝到top级目录,在reporting部分的CheckStyle插件配置中引用配置。Java代码1.reporting2.plugins3.plugin4.groupIdorg.apache.maven.plugins/groupId5.artifactIdmaven-checkstyle-plugin/artifactId6.configuration7.configLocationmy_checks.xml/configLocation8./configuration9./plugin10./plugins11./reporting也可以将配置文件放在子文件夹下,配置中带上相对路径即可。Java代码1.reporting2.plugins3.plugin4.groupIdorg.apache.maven.plugins/groupId5.artifactIdmaven-checkstyle-plugin/artifactId6.configuration7.configLocationbuild-tools/src/main/resources/xx/my_checks.xml/configLocation8./configuration9./plugin10./plugins11./reporting如果使用插件自带的规则文件,可以作如下配置。maven-checkstyle-plugin插件自带的规则有sun_checks.xml、maven_checks.xml等,可查看插件包。Java代码1.reporting2.plugins3.plugin4.groupIdorg.apache.maven.plugins/groupId5.artifactIdmaven-checkstyle-plugin/artifactId6.configuration7.configLocationconfig/maven_checks.xml/configLocation8./configuration9.version2.3/version10./plugin11./plugins12./reporting在reporting部分增加jxr插件,生成代码报告,这样在CheckStyle报告中点击问题对应的链接就可以直接看到出错的代码。Java代码1.reporting2.plugins3.plugin4.groupIdorg.apache.maven.plugins/groupId5.artifactIdmaven-checkstyle-plugin/artifactId6.configuration7.configLocationmy_checks.xml/configLocation8./configuration9.version2.3/version10./plugin11.plugin12.groupIdorg.apache.maven.plugins/groupId13.artifactIdmaven-jxr-plugin/artifactId14./plugin15./plugins16./reporting在build和reporting部分增加javadoc插件,如果pom文件中已经配置,则只需作相应修改。charset、encoding、docencoding配置用于解决生成的javadoc文件中文乱码问题;aggregate配置为true则javadoc报告会集中显示所有子模块的javadoc。Java代码1.reporting2.plugins3.plugin4.groupIdorg.apache.maven.plugins/groupId5.artifactIdmaven-javadoc-plugin/artifactId6.version2.4/version7.configuration8.aggregatetrue/aggregate9.charsetUTF-8/charset10.encodingUTF-8/encoding11.docencodingUTF-8/docencoding12./configuration13./plugin14.plugin15.groupIdorg.apache.maven.plugins/groupId16.artifactIdmaven-checkstyle-plugin/artifactId17.configuration18.configLocationmy_checks.xml/configLocation19./configuration20.version2.3/version21./plugin22.plugin23.groupIdorg.apache.maven.plugins/groupId24.artifactIdmaven-jxr-plugin/artifactId25./plugin26./plugins27./reporting在maven插件中使用install命令将pom文件中配置的插件下载安装到本地,然后使用checkstyle:checkstyle命令进行检查并生成报告,运行完毕,各项目目录下会生成target目录,target\site\checkstyle.html即为该项目的问题报告。需要注意的是checkstyle:checkstyle仅生成CheckStyle相关报告,因此不能从报告中直接链接到错误代码;需要同时生成jxr源代码,使用site。如果运行checkstyle:checkstyle或site过程中出现如下错误,则应该修改CheckStyle规则配置文件,去除其中的中文字符。Java代码1.“[ERROR]BUILDERROR2.[INFO]------------------------------------------------------------------------3.[INFO]AnerrorhasoccurredinCheckstylereportgeneration.4.5.Embeddederror:Failedduringcheckstyleconfiguration6.Invalidby