eclipse插件之Findbugs、Checkstyle、PMD安装及使用


一、什么是Findbugs、checkstyle、PMD

Findbugs、checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用。

三者的功能如下表:

工具

目的

检查项

FindBugs

检查.class

基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug

主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等

PMD

检查源文件

检查Java源文件中的潜在问题

主要包括:

空try/catch/finally/switch语句块

未使用的局部变量、参数和private方法

空if/while语句

过于复杂的表达式,如不必要的if语句等

复杂类

CheckStyle

检查源文件

主要关注格式

检查Java源文件是否与代码规范相符

主要包括:

Javadoc注释

命名规范

多余没用的Imports

Size度量,如过长的方法

缺少必要的空格Whitespace

重复代码

该表转自:http://blog.csdn.net/ml5271169588/article/details/6975701

三者作为开源的软件,可以让我们无所畏惧的使用,而不用考虑版权问题。他们的源代码保存在http://sourceforge.net/上,下载也可以去这里下载。


二、Findbugs、checkstyle、PMD的安装

首先要说明的是,我电脑的eclipse是luna版本,JDK是1.8的。

eclipse和JDK的安装就不多说了,很容易搜到,而且目前JDK都不需要复杂的配置,基本上只要下载好再安装就好了。

那么接下详细的介绍Findbugs、checkstyle、PMD的安装(使用三部分说明:如何安装eclipse插件->下载插件->安装插件->查看插件是否安装成功)

1、如何安装eclipse插件

目前来说有三种安装eclipse插件的方式:

(1)在线安装方式:使用Eclipse的菜单栏 Help -> SoftwareUpdates -> Find and install... -> search for new features...  ->输入软件安装地址进行安装

(2)离线安装方式一:下载插件文件,将其解压缩到Eclipse对应的目录中,即eclipse目录下对应的features下和plugins下。

(3)离线安装方式二:links文件方式。

前两种方式比较简单,百度经验http://jingyan.baidu.com/article/15622f2454893cfdfcbea5d1.html上有详细的图文教程。

我选择了第三种方式,因为这样可以把eclipse插件放在一个独立的目录统一管理,多个Eclipse均可以指向这个eclipse插件目录,后面我会具体介绍如何采用第三钟方式安装插件。

 2、下载插件

因为Findbugs、checkstyle、PMD都在http://sourceforge.net/这个开源的网站上进行管理,所以直接去该网站下载。

工具 下载地址 截图 注意事项
Findbugs  http://sourceforge.net/projects/findbugs/files/findbugs%20eclipse%20plugin/    下载的时候要注意红框里一定是findbugs eclipse plugin,有可能你在这个网站上下载到Findbugs,但他不能用做eclipse插件使用。可能有其他用途吧。
Checkstyle  http://sourceforge.net/projects/eclipse-cs/files/?source=navbar    你可能在sourceforge上找到checkstyle,但下载下来同样不能用做eclpse插件使用,注意要下载eclipse checkstyle plug-in。
PMD http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site-latest/

 
我没有找到可以一下plugins和features的文件都下载下来,只能一个一个的下载,然后重新创建了features和plugins文件夹,然后把东西放里面。也许有更好的方法吧。同样注意下载的是pmd-eclipse目录下的文件

下载好后就可以采用上述的安装方式的一种安装了。

3、安装插件

links方法安装:

我的eclipse的安装目录是D:\Application\eclipse。

目标是把插件放在和eclipse文件夹同级的D:\Application\eclipse_plugins下(文件夹名随意)。

(1)首先在D:\Application\eclipse_plugins文件夹操作。

在eclipse_plugins文件夹下创建D:\Application\eclipse_plugins\lunaeclipse(文件夹名随意),表示这是lunaeclipse所使用的插件。

分别在D:\Application\eclipse_plugins\lunaeclipse下创建Findbugs、Checkstyle和PMD三个文件夹(文件夹名随意)。如图:

然后在Findbugs里面建立一个eclispe文件夹(文件名固定),eclipse文件夹下创建features(文件名固定)和plugins(文件名固定)文件夹。

Checkstyle和PMD进行同样的操作。

然后将下载好的文件(里面包含plugins和features),按照同样的结构放入对应文件夹里。例如:

Checkstyle和PMD进行同样的操作。

(2)接下来操作eclipse的安装目录D:\Application\eclipse。

在该目录下新建文件夹links(文件夹名固定),然后创建Findbugs.txt、Checkstyle.txt、PMD.txt(文件名随意)文件,打开该文件并且写入一句path=D:\\Application\\eclipse_plugins\\lunaeclipse\\Findbugs,该路径是之前创建Findbugs文件夹的路径,同样操作Checkstyle和PMD。在将扩展名.txt改为.link(据说扩展名改不改无所谓)。如图:

然后重启eclipse就可以了。

注意:如果重启eclipse不可以的话。请尝试进入eclipse安装目录下的D:\Application\eclipse\configuration文件夹,删除org.eclipse.update文件夹,修改config中的org.eclipse.update.reconcile=false改为true。在重新启动eclipse。

4、查看插件

             可以通过两种方式查看插件是否安装成功

(1)依次点击help—>about eclipse->Installation details->Plug-ins,然后搜索自己安装的插件,如果能够搜索到,则说明安装成功。

  (2)更实际一点的方式是创建一个项目,右击项目名,查看是否存在Findbugs、Checkstyle和PMD。

我采用第二种方式:

出现红框里的标志之后,就说明安装插件成功。


三、Findbugs、checkstyle、PMD的使用

打开三个插件的方式大同小异,都是右击项目,找到插件的选项。当分析完毕之后,同样需要右击项目,找到插件选项,点击clear...选项,清除插件标记。

对Findbugs的设置在Windows->Preferences->java->Find bugs下进行设置;在Windows->Preferences下就能找到Checkstyle和PMD的设置。

关于Finbugs、checkstyle、PMD的使用如下表:

  Findbugs Checkstyle PMD

启动/清除

使用

如图所示:代码行左侧出现小虫子,说明有bug或

潜藏的bug。BugExplorer会列出所有bug,Bug

info有关于bug详细的信息。(注意:Findbugs检

查的是.class文件,所以如果无法编译成.class的程

序是无法使用findbugs找到bug的)

黄色部分为代码不符合规范的部分。

如图小三角标记的代码行,存在不符合规范的代码。

设置

关于Findbugs、Checkstyle和PMD的安装和使用先就介绍到这里。三个插件的使用能够帮助程序开发者更好的理解自己的代码,改善自己的代码风格,对程序员有很大益处。

注:由于图比较小,如若看不清,可以放大浏览器查看或者下载下图片看。

2015-05-21

------------------------------

只要你是简单的

这个世界就是简单的

----冰心

eclipse插件之Findbugs、Checkstyle、PMD安装及使用的更多相关文章

  1. jenkins+maven配置findbugs+checkstyle+pmd

    一.findbugs+checkstyle+pmd介绍 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜 ...

  2. jenkins+findbugs+checkstyle+PMD静态代码检查(二)

    可以根据自己的需求选中对应的插件进行配置(不一定非要同时配置三个插件) jenkins:持续集成的工具 fundbugs:检测代码静态错误的插件  例如:定义了没有用到的对象,string类型的比较使 ...

  3. Eclipse插件springsource-tool-suite在线和离线安装步骤

    springsource-tool-suite插件是一个基于Eclipse的开发环境,为开发Spring应用程序而定制.它提供了一个即用的环境来实现,调试,运行和部署Spring应用程序,包括Pivo ...

  4. findbugs, checkstyle, pmd的myeclipse7.5+插件安装(转:http://blog.csdn.net/priestmoon/article/details/63941)

    CheckStyle (1)下载net.sf.eclipsecs_5.3.0.201012121300-updatesite-.zip (2)打开MyEclipse,Help->Software ...

  5. Eclipse 插件 —— SVN 的下载与安装

    介绍一下Eclipse 安装 SVN 插件的方法. 第一步:下载资源文件 打开网址 http://subclipse.tigris.org/ ,点击[Download and Install]标签页, ...

  6. Eclipse 插件 —— RunJettyRun 的下载、安装与使用

    关于 Jetty 与 Eclipse 的集成,网上很多都是使用 Eclipse 的一个自动安装功能 —— Software Update.个人不太喜欢这种方式.这种安装方式有点问题:第一,需要网络流畅 ...

  7. java:Eclipse插件springsource-tool-suite的下载和安装

    1.打开下载页面http://spring.io/tools/sts/all 找到这个,后补全部版本链接http://spring.io/tools/sts/legacy 插件压缩包下载安装: 链接下 ...

  8. Eclipse插件springsource-tool-suite的下载和安装

    根据佟刚Spring课程,装完这个插件,再利用maven构建工程,爽 课程:https://www.bilibili.com/video/av21335209?from=search&seid ...

  9. Eclipse插件的安装与配置

    1.下载插件时注意要和Eclipse版本兼容. 2.安装Eclipse插件时注意是否要安装其他的插件,这一点很容易被忽视. 3.有时启动Eclipse未加载插件,解决方法很多,总结一下:     a ...

随机推荐

  1. 进阶系列(10)—— C#元数据和动态编程

    一.元数据的介绍 元数据是用来描述数据的数据(Data that describes other data).单单这样说,不太好理解,我来举个例子.下面是契诃夫的小说<套中人>中的一段,描 ...

  2. Node.js记录

    在智能社上听了一些关于node.js的视频,总结一小部分内容,都是总结老师讲的知识点,并且也是在不断学习的过程,所以会不断更新.也是为了怕自己遗忘一些知识点,同时现今没有什么项目可以让我去真正实践,这 ...

  3. [Cnbeta]龙芯处理器性能怎么样

    龙芯处理器性能怎么样?下一代CPU同频性能可达英特尔90% 在高性能处理器领域,英特尔是天花顶一般的存在(先不算地位特殊的IBM公司),国内发展CPU处理器的公司很多,绝大多数实力跟英特尔相比都差很远 ...

  4. vue 引入组件

    <comA></comA>此时可用在模板里 //a为vue文件,里面定义了模板import comA from './components/a' export default ...

  5. firewall和iptables

    防火墙有这三种方式,firewalld.iptables.ebtables,现在的centOS7使用的是firewalld. 下面是一些总结: 查看当前firewalld的状态 firewall-cm ...

  6. String、StringBuffer与StringBuilder比较

    关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:     StringBuilder > St ...

  7. static关键字的总结

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...

  8. python自动化之连接数据库

    # -*- coding: utf-8 -*- """ Created on Fri Mar 20 10:50:56 2015 @author: sl "&qu ...

  9. php 关于文件夹的一些封装好的函数

    /** *检测文件名是否合法 * @param string $filename * @return boolean */ function checkFilename($filename){ $pa ...

  10. c++11 可变参数模板类

    c++11 可变参数模板类 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...