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. Merge join、Hash join、Nested loop join对比分析

    简介 我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join ...

  2. Unity发布Exe后,去掉提示分辨率的窗口

    Unity版本:2017.4 菜单File->Build Settings...,修改如下图的位置,将“Display Resolution Dialog”从Enabled改为Disabled

  3. jquery on 事件嵌套 事件执行多次

    今天做了个项目,就是想点击添加然后追加一列,点击这一列的修改按钮,在修改, //编辑事件 $('#eventTable').on('click','.edit_n',function(){ var i ...

  4. Beta阶段DAY2

    一.提供当天站立式会议照片一张 二.每个人的工作 1.讨论项目每个成员的昨天进展 刘阳航:删除多余按钮,调整界面. 林庭亦:删除麻烦的颜色设置. 郑子熙:添加新增按钮. 陈文俊:重新规划面板及功能. ...

  5. mysql EXPLAIN 参数表

    测试样式: 参数详情:

  6. PHP 常用函数总结(四)

    9.PHP常用判断函数 is_bool();//判断是否为布尔型 is_float(); //判断是否为浮点型 is_int(); //判断是否为整型 is_numeric(); //判断是否为数值型 ...

  7. Laravel 5.1 中的异常处理器和HTTP异常处理 abort()

    原文  http://laravelacademy.org/post/1867.html 错误和异常是处理程序开发中不可回避的议题,在本地开发中我们往往希望能捕获程序抛出的异常并将其显示打印出来,以便 ...

  8. p2 碰撞

    P2可以实现物体碰撞模拟,同时在碰撞过程中派发一些事件实现碰撞检测,将碰撞信息及时反馈,以添加相应的特效. P2中,当两个刚体的最小包围盒AABB发生重叠,碰撞就开始了:然后刚体的形状发生重叠,同时P ...

  9. Django 2.0 学习(21):Django Session

    Django Session Session 与Cookie 1.简介 1.Cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们又需要"保持状态",因 ...

  10. Fortinet Security Fabric

    Fortinet Security Fabric 这个世界从不固步自封.在技术方面,这意味着解决方案供应商必须保持不断创新和探索才能实现生存与发展. 在网络安全领域,这更是至理名言.许多黑客都是才华横 ...