Findbugs使用简介

合集下载

IDEA插件FindBugs的使用详解

IDEA插件FindBugs的使用详解

IDEA插件FindBugs的使⽤详解前⾔Findbugs很多⼈都并不陌⽣,Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。

这个插件可以帮助我们查找隐藏的bug,⽐较重要的功能就是查找潜在的null指针。

在编写代码的过程中,我们可能不会⼀直记得检查空的引⽤,在我们测试时可能很难发现问题,但是应⽤上线之后,⾯对⼤量的⽤户,很多问题就会浮现出来。

所以在编码时,使⽤findbugs检查⼀下很有必要。

安装安装完之后,重启studio,会发现左下⾓会出现findbugs的图标可以分析单个⽂件,包下⾯的所有⽂件,整个module下的⽂件,整个project下的⽂件,右键想要分析的⽂件名/包名/module名/project分析完之后就会出现结果⾯板点击对应的item在右边会定位到具体的代码根据需要可以进⾏更改,其中Correctness这个错误使我们重点关注的对象,这⾥⼤多是空指针的错误,根据提⽰进⾏处理。

附:⼀些常见的错误信息Bad practice 代码中的⼀些坏习惯Class names should start with an upper case letter 主要包括类名的命名,以⼤写字母开头Method names should start with a lower case letter ⽅法名以⼩写字母开头Field names should start with a lower case letter 字段名以⼩写字母开头equals()method does not check for null argument equals()⽅法应该检查⾮空Class defines equals() and uses Object.hashCode() ⼀个类覆写了equals⽅法,没有覆写hashCode⽅法,使⽤了Object对象的hashCode⽅法Method ignores exceptional return value ⽅法忽略返回值的异常信息Equals method should not assume anything about the type of its argument equals(Object o)⽅法不能对参数o的类型做任何的假设。

JAVA静态代码质量分析工具FindBugs介绍

JAVA静态代码质量分析工具FindBugs介绍

findbugs.xml和messages.xml两个文件
findbugs.xml的编写
对于每一个新的检测器,在 FindBugs.xml 文件中增加一 个 Detector 元素和一个 BugPattern 元素。 Detector 元素指定用于实现检测器的类以及它是快速还是慢速检测 器。speed 属性的可能值有 slow、moderate 和 fast。 BugPattern 元素指定三个属性。 abbrev 属性定义检测 器的缩写。缩写用于标识用命令行客户运行时检测到的缺 陷。可以用同一个缩写将几个相关的检测器组织到一起。.
准备工作 下载到ant和findbugs。并且配置好它们的环境 变量
编写ant脚本(build.xml)
build.xml部分属性参数说明
class 嵌套元素指定要分析的类。这个元素必须 指定一个location属性,location属性的名字为 archive文件(jar,zip等)、目录或者class文件。 可以为一个findbugs元素指定多个class元素。 auxClasspath 可选的嵌套元素,用于指定要分 析的类所引用的类,但是并不对引用的类进行分 析。 sourcePath 可选的嵌套元素,指定Java源代码 的目录。
Hale Waihona Puke 自定义FindBugs检测器
编写自定义的检测器Detector 项目中需要引入FindBugs的jar文件:findBug.jar 自定义的检测器需要继承OpcodeStackDetector 重写其sawOpcode方法。下面用一个简单的自定义 检测器来说明。此检测器是用来查找项目中有没有 system.out和system.error情况出现的。建议编 写的时候可以先查看FindBugs源代码以查找类似于 你要编写的检测器。

【工利其器】必会工具之(五)FindBugs篇——让工具找出你代码中的bug

【工利其器】必会工具之(五)FindBugs篇——让工具找出你代码中的bug

【⼯利其器】必会⼯具之(五)FindBugs篇——让⼯具找出你代码中的bug 前⾔转载请声明,转⾃【】,谢谢!项⽬中代码质量,往往需要⽐较有经验的程序员的审查来保证。

但是随着项⽬越来越⼤,代码审查会变得越来越复杂,需要耗费越来越多的⼈⼒。

⽽且程序员的经验和精⼒都是有限的,能审查出问题必定有限。

⽽在对代码质量要求越来越严格的当今IT界,这⽆疑是个⽭盾点。

幸运的是,不少公司发布了代码扫描⼯具,来检测代码中存在的问题。

尽管它们⽆法扫描出所有的bug,但仍然能够为我们的⼯作带来极⼤的便利。

其中FindBugs就是这其中的佼佼者,本⽂将结合Android Studio 来介绍该⼯具的使⽤。

⼀、FindBugs简介FindBugs是⼀款Java缺陷检测⼯具,它通过分析静态字节码可以查找出200多种错误模式,例如空指针取消引⽤、⽆限递归循环、Java库的错误使⽤和死锁等。

⼆、安装FindBugs插件Android Studio默认是没有安装FindBugs插件的,需要我们⾃⼰进⾏安装。

所幸Android Studio提供了丰富的插件,可以直接从库插件库中进⾏安装。

当然也可以⾃⼰⼿动从⽹上下载好该插件,然后安装。

这⾥将两种⽅法都简单介绍⼀下。

1、从Android Studio插件库中安装点击⾯板中主菜单Files > Settings > Plugs 就可以进⼊到插件中⼼,如下图所⽰:②处可以输⼊要查找的插件名,如果安装了,并满⾜③处筛选条件,会显⽰在④处列表中。

③处选择筛选范围,④处⽤于显⽰在②处和③处所指定条件下查询到的插件列表,右边的选择框可选中表⽰该插件可以⽤,否则表⽰不可⽤。

⑤处显⽰选择的插件的相关信息⑥处是⼀个⼊⼝,可以跳转去安装JetBrains提供的插件。

⑦处⽤于跳转到从仓库中浏览并安装插件。

⑧处⽤于安转下载到本地的插件。

这⾥我们选择从“Browse Repositories”进⼊安装,进⼊后搜索“FindBugs”会显⽰如下界⾯,我们选择“FindBugs-IDEA”进⾏安装。

关于FindBugs插件

关于FindBugs插件

关于FindBugs插件1FindBugs简介FindBugs是Eclipse的一个插件,是一个静态分析工具。

主要作用就是基于其中的Bug Patterns 列表,检查java字节码,也就是.class文件。

通俗点讲,就是依据Bug Patterns在java程序中查找bug。

Bug Patterns中存放的是可能出错的代码实例。

它能寻找出编译代码时未报错的代码缺陷,包括能检查出一些可优化的地方。

例如:未关闭的数据库连接,缺少必要的null check,多余的 null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",建议使用StringBuffer代替字符串连加等等。

这些都是FindBugs默认具有的检查功能,除此外,我们还可以自己配置检查规则,可以自己定义效验类,通过将自己定义的类放置Bug Patterns中(当然,这里必须参照原有的Bug Patterns内容,要有继承它的接口等操作),就可以按照我们自己所定义的规则进行代码的检查。

2FindBugs的使用与其他插件一样,用法很简单,也没有什么很繁琐的过程,就通过一个实例来说明FindBugs的使用情况吧。

新建一个java工程,然后新建一个java源文件,在源文件中输入以下内容:public class Test {private String[] name;public String[] getName() {return name;}public void setName(String[] name) { = name;}}保存后,不会报错。

首先熟悉一下有关透视图,点击Window,打开试图,通过other选项,选择FindBugs,出现包含Bug Tree、Bug Details、Bug User Annotations三个试图。

如图1所示:图 1图中:Bug Tree:主要是以树的形式展现通过FindBugs操作后出现的问题列表;Bug Details:主要是展现通过FindBugs操作后出现问题的详细位置说明;Bug User Annotations:主要是用户对此Bug的注解。

代码静态检查工具与应用介绍

代码静态检查工具与应用介绍

代码静态检查工具与应用介绍代码的质量直接关系到软件的性能和可靠性。

为了提高代码质量,开发人员常常采用代码静态检查工具来检测潜在的代码缺陷和错误。

本文将介绍常用的代码静态检查工具及其应用,帮助读者更好地理解和应用这些工具。

一、什么是代码静态检查工具?代码静态检查工具是一类软件工具,通过扫描源代码来检查潜在的编程错误、不合规范的代码和潜在的安全隐患。

它可以在代码编写的早期发现问题,帮助开发人员提前修复错误,从而提高代码质量。

二、常用的代码静态检查工具1. FindBugs:FindBugs是一个基于Java字节码的静态分析工具,用于查找Java程序中的潜在缺陷。

它可以检测出空指针引用、资源未释放、不必要的对象创建等问题,并提供详细的问题报告。

2. PMD:PMD是一个针对Java源代码的静态规则检查工具。

它可以帮助开发人员发现代码中的潜在问题,如未使用的变量、无效的方法重写、复杂的表达式等。

PMD提供了多种规则,可以根据项目需求进行配置和定制。

3. ESLint:ESLint是用于JavaScript代码的静态检查工具,它能帮助开发人员发现代码中的潜在问题并提供修复建议。

ESLint支持可配置的规则集,可以根据项目需求进行灵活的配置。

4. Checkstyle:Checkstyle是一个用于Java代码的静态规则检查工具。

它可以帮助开发人员遵循编码规范,并提供统一的代码风格。

Checkstyle支持自定义规则和可配置的检查选项,以满足项目的需求。

三、代码静态检查工具的应用1. 代码质量控制:代码静态检查工具能够帮助开发人员发现代码缺陷和不规范的编码风格,并及时提供修复建议。

通过使用这些工具,可以规范代码质量,提高代码的可读性和可维护性。

2. 安全漏洞检测:代码静态检查工具能够帮助开发人员发现潜在的安全隐患,如SQL注入、跨站脚本攻击等。

通过及时修复这些问题,可以提高软件的安全性和可靠性。

3. 性能优化:代码静态检查工具还可以检测不合理的代码结构和低效的算法,帮助开发人员发现性能瓶颈,并提供相应的优化建议。

findbugs 用法

findbugs 用法

findbugs用法FindBugs是一款由加州大学伯克利分校的Java开发者团队开发的静态代码分析工具,主要用于发现Java代码中的潜在错误和漏洞。

本文将向您介绍FindBugs的基本用法,帮助您更好地利用这款工具提高代码质量。

一、FindBugs简介FindBugs是一款免费的开源工具,它通过分析Java代码的语法、数据流、异常处理等方面,发现潜在的错误和漏洞。

FindBugs可以帮助开发者发现一些不易被人工发现的错误,提高代码质量,减少软件缺陷。

二、安装FindBugs要使用FindBugs,您需要先将其安装到您的系统中。

FindBugs支持Windows、Linux和MacOSX等操作系统。

安装过程相对简单,您可以从FindBugs官方网站下载最新版本的FindBugs,并根据安装指南进行安装。

三、使用FindBugs进行代码分析安装完成后,您可以使用FindBugs对Java代码进行静态分析。

以下是使用FindBugs进行代码分析的基本步骤:1.打开FindBugs分析器界面,将要分析的Java代码文件上传到分析器中。

2.选择要进行静态分析的选项,如是否包含测试代码等。

3.等待分析器进行分析,生成报告。

4.查看分析报告,了解代码中的潜在错误和漏洞。

以下是一些使用FindBugs的常见用法示例:1.查找未使用的变量:FindBugs可以检测到未使用的变量,这可能是由于开发者疏忽或无意中留下的漏洞。

2.查找空指针引用:FindBugs可以检测到可能出现的空指针引用错误,这可能导致程序崩溃或出现不可预期的行为。

3.查找内存泄漏:FindBbugs可以检测到可能的内存泄漏问题,如对象引用未被释放等。

4.查找线程安全问题:FindBugs可以检测到线程安全问题,如并发修改共享数据等。

五、优化FindBugs结果使用FindBugs分析后,您可能会发现一些潜在的问题和漏洞。

对于这些问题和漏洞,您可以采取以下优化措施:1.修复错误:对于发现的错误和漏洞,您应该尽快修复它们,以确保代码的质量和稳定性。

FindBugs使用手册教案资料

文件编号:配置项编号:FindBugs使用手册文档版本号V 1.0农信银资金清算中心创新研发部文档修订记录目录1、FindBugs简介 (3)2、FindBugs的检查规则 (4)2.1Correctness(正确性) (4)2.2 Bad practice(不良实践) (5)2.3 Performance(性能) (5)2.4Multithreaded correctness(多线程正确性) (6)2.5 Dodgy(不可靠) (7)3、FindBugs使用 (8)3.1安装FindBugs (8)3.2配置FindBugs (8)3.3使用FindBugs (8)1、FindBugs简介FindBugs是用于java代码检查的一种静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。

有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。

FindBugs专注于找出潜在程序错误,而不是编码风格问题,目的在于提高程序的健壮性。

2、FindBugs的检查规则FindBugs提出了超过200种规则,这些规则可主要分为如下类别:2.1Correctness(正确性)这些问题涉及到可能在某些方面不正确的代码。

如:代码有无限递归,或者读取为写入的字段,这类问题几乎无疑是程序的错误。

例1:使用未初始化的类成员,可能导致NullPointException代码:FindBugs检测结果:例2:不使用方法的返回值代码:FindBugs检测结果:2.2Bad practice(不良实践)这类问题明确违反建议的编程标准。

如:删除异常,或未关闭文件,或未数据库连接资源等。

例3:未关闭打开的文件输出流资源代码:FindBugs检测结果:2.3Performance(性能)这类规则的目的在于检测潜在的性能问题。

如:代码创建了不需要的对象,或者在循环中使用字符串连接而不是使用StringBuffer。

Findbugs使用简介

Findbugs使用简介Findbugs是一个在java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例,注意Findbugs是检查java字节码,也就是*.class文件。

其实准确的说,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。

例如:未关闭的数据库连接,缺少必要的null check,多余的null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",建议使用StringBuffer代替字符串连加等等。

而且我们还可以自己配置检查规则(做哪些检查,不做哪些检查),也可以自己来实现独有的校验规则(用户自定义特定的bug模式需要继承它的接口,编写自己的校验类,属于高级技巧)。

Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。

Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Performance,43种Dodgy。

Bad practice 坏的实践一些不好的实践,下面列举几个:HE:类定义了equals(),却没有hashCode();或类定义了equals(),却使用Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Object.equals();类继承了equals(),却使用Object.hashCode()。

SQL:Statement 的execute方法调用了非常量的字符串;或Prepared Statement是由一个非常量的字符串产生。

Findbugs使用说明

Findbugs使用说明目的Findbugs是一个代码质量工具;我们用它来检查源代码中出现的伪问题,以期尽可能在项目的初始阶段将代码问题解决。

本文主要介绍Findbugs的eclipse 插件的应用。

对应的版本是:Findbugs (0.0.16);eclipse (3.1)概要FindBugs 是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。

我们利用它在eclipse中的插件来对它所过滤的工程的源代码进行检查。

希望在程序员编写代码的过程中,将代码中的缺陷指出来,让编码人员在开发中将它们纠正。

达到尽可能在项目编码中将问题解决得目的。

而不是在编码结束的时候才用该软件对代码检查,修改。

Findbugs使用说明Findbugs的下载地址见参考资料.安装好Findbugs后我们启动eclipse。

在eclipse中选择某个工程的属性。

如下图所示:点击属性弹出属性对话框,我们选择对话框左边的树上的“Findbugs”节点:下面我们对Findbugs各项属性的配置进行一下说明:Run Findbugs automnaticaly:编译工程和文件的时候自动运行Minimum priority to report:根据bug的优先权级别报告bug。

Enable bug categories: bug种类。

✧Correctness:正确性。

✧Performance:性能。

✧Internationalization:国际化。

✧Mutithreaded correctness:多线程的正确性。

✧Style:样式。

✧Malicious code vulnerability :恶意代码。

Select bug patterns to check for:bug的校验模式Bug的校验模式的设置是确定哪一类问题我们应该作为bug报告给用户;详细的bug减少可以参考参考资料。

当我们根据部门规范选择要校验的模式后。

Findbugs如何使用?Findbugs的使用说明

Findbugs如何使⽤?Findbugs的使⽤说明Findbugs使⽤说明1 ⽤途FindBugs 是⼀个java bytecode静态分析⼯具,它可以帮助java⼯程师提⾼代码质量以及排除隐含的缺陷。

FindBugs检查类或者 JAR ⽂件,将字节码与⼀组缺陷模式进⾏对⽐以发现可能的问题。

有了静态分析⼯具,就可以在不实际运⾏程序的情况对软件进⾏分析。

FindBugs不是通过分析类⽂件的形式或结构来确定程序的意图,⽽是通常使⽤ Visitor 模式进⾏分析(Visitor 模式的更多信息)。

2 安装⽬前findbugs最新的版本是1.3.9,2.1 Eclipse插件的安装环境要求,Findbugs要求Eclipse 3.4 以上的版本,JRE/JDK 1.5.0以上的版本。

步骤,将edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821.zip解压到Eclipse的 "plugins"⼦⽬录下,这样就可以在 <eclipse_install_dir>/plugins/edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821/下看到FindBugs logo图⽚findbugs.png。

启动Eclipse 然后选择 Help → About Eclipse Platform → Plug-in Details,你应该找到 "FindBugs Plug-in"。

3 使⽤启动选中java⼯程,点击⿏标右键,选择名为“Find Bugs”的菜单,FindBugs开始运⾏,问题指⽰器将指向根据bug模式识别出来的潜在问题代码位置。

可选项定制你还可以通过java⼯程的属性对话框来定制findbugs的运⾏⽅式,可选项包括:控制"Run FindBugs Automatically" 开关的checkbox。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Findbugs使用简介Findbugs是一个在java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例,注意Findbugs是检查java字节码,也就是*.class文件。

其实准确的说,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。

例如:未关闭的数据库连接,缺少必要的null check,多余的null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",建议使用StringBuffer代替字符串连加等等。

而且我们还可以自己配置检查规则(做哪些检查,不做哪些检查),也可以自己来实现独有的校验规则(用户自定义特定的bug模式需要继承它的接口,编写自己的校验类,属于高级技巧)。

Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。

Findbugs自带检测器,其中有60余种Bad practice,80余种Correctness,1种Internationalization,12种Malicious code vulnerability,27种Multithreaded correctness,23种Performance,43种Dodgy。

Bad practice 坏的实践一些不好的实践,下面列举几个:HE:类定义了equals(),却没有hashCode();或类定义了equals(),却使用Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Object.equals();类继承了equals(),却使用Object.hashCode()。

SQL:Statement 的execute方法调用了非常量的字符串;或Prepared Statement是由一个非常量的字符串产生。

DE:方法终止或不处理异常,一般情况下,异常应该被处理或报告,或被方法抛出。

Correctness 一般的正确性问题可能导致错误的代码,下面列举几个:NP:空指针被引用;在方法的异常路径里,空指针被引用;方法没有检查参数是否null;null值产生并被引用;null值产生并在方法的异常路径被引用;传给方法一个声明为@NonNull的null参数;方法的返回值声明为@NonNull实际是null。

Nm:类定义了hashcode()方法,但实际上并未覆盖父类Object的hashCode();类定义了tostring()方法,但实际上并未覆盖父类Object的toString();很明显的方法和构造器混淆;方法名容易混淆。

SQL:方法尝试访问一个Prepared Statement的0索引;方法尝试访问一个ResultSet的0索引。

UwF:所有的write都把属性置成null,这样所有的读取都是null,这样这个属性是否有必要存在;或属性从没有被write。

Internationalization 国际化当对字符串使用upper或lowercase方法,如果是国际的字符串,可能会不恰当的转换。

Malicious code vulnerability 可能受到的恶意攻击如果代码公开,可能受到恶意攻击的代码,下面列举几个:FI:一个类的finalize()应该是protected,而不是public的。

MS:属性是可变的数组;属性是可变的Hashtable;属性应该是package protected的。

Multithreaded correctness 多线程的正确性多线程编程时,可能导致错误的代码,下面列举几个:ESync:空的同步块,很难被正确使用。

MWN:错误使用notify(),可能导致IllegalMonitorStateException异常;或错误的使用wait()。

No:使用notify()而不是notifyAll(),只是唤醒一个线程而不是所有等待的线程。

SC:构造器调用了Thread.start(),当该类被继承可能会导致错误。

Performance 性能问题可能导致性能不佳的代码,下面列举几个:DM:方法调用了低效的Boolean的构造器,而应该用Boolean.valueOf(…);用类似Integer.toString(1) 代替new Integer(1).toString();方法调用了低效的float的构造器,应该用静态的valueOf方法。

SIC:如果一个内部类想在更广泛的地方被引用,它应该声明为static。

SS:如果一个实例属性不被读取,考虑声明为static。

UrF:如果一个属性从没有被read,考虑从类中去掉。

UuF:如果一个属性从没有被使用,考虑从类中去掉。

Dodgy 危险的具有潜在危险的代码,可能运行期产生错误,下面列举几个:CI:类声明为final但声明了protected的属性。

DLS:对一个本地变量赋值,但却没有读取该本地变量;本地变量赋值成null,却没有读取该本地变量。

ICAST:整型数字相乘结果转化为长整型数字,应该将整型先转化为长整型数字再相乘。

INT:没必要的整型数字比较,如X <= Integer.MAX_VALUE。

NP:对readline()的直接引用,而没有判断是否null;对方法调用的直接引用,而方法可能返回null。

REC:直接捕获Exception,而实际上可能是RuntimeException。

ST:从实例方法里直接修改类变量,即static属性。

1、和Ant配合使用从/downloads.html下载最新版本的Findbugs,目前的版本是1.3.0, 于2007年11月8日发布。

把解压后目录复制到项目的lib目录下,然后就可以和Ant配合使用了。

FindBugs工作在j2se1.4.0或以后的版本中,需要至少256MB内存。

在Ant脚本中,首先定义Findbugs的解压目录位置:<path id="findbugs.path" ><fileset dir ="${lib.home}/findbugs-1.3.0"><include name ="**/*.jar"/></fileset></path>接着声明Findbugs任务:<taskdef name="findbugs"classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref ="findbugs.path"/>然后建立Findbugs任务:<property name ="findbugs.home" value="${lib.home}/findbugs-1.3.0"/><!-- 定义findbugs的home,findbugs的task要使用--><target name ="findbugs"><findbugs home ="${findbugs.home}"includeFilter="${findbugs_include_filter}"excludeFilter="${findbugs_exclude_filter}"jvmargs="-Xmx384m" output ="html"outputFile ="d:\test.html"><class location ="${build.home}/WEB-INF/classes/"/><!-- 以上定义findbugs查找的类路径--><auxClasspathpath="${lib.home}/findbugs-1.3.0/lib/findbugs-ant.jar"/><auxClasspath><fileset dir="${build.home}/WEB-INF/lib" includes="**/*.jar" /> </auxClasspath><!-- 以上定义上述类所依赖的类路径--><sourcePath path ="${src.home}"/><!-- 以上定义源代码的路径--></findbugs ></target >最后运行ant findbugs即可。

2、Eclipse插件在Eclipse当中安装Findbugs插件和安装CheckStyle一样,可以参照以下五个步骤进行:a. 在Eclipse当中分别打开一下菜单Help->Software Updates->Find and Installb. 选择Search for new features to install 选项然后点击Nextc. 新建一个New Remote Site...d. 输入名称(比如:Findbugs Plug-in)和下面的URL:/eclipsee. 开始安装安装好Findbugs以后,选择Windows -> Show View -> Other… -> FindBugs -> BugDetails打开Bug Details视图。

然后在Package Explorer或Navigator视图中,选中你的Java项目,点击右键,可以看到“Find Bugs”菜单项,子菜单项里有“Find Bugs”和“Clear Bug Markers”两项内容。

我们点中“Find Bugs”,运行结束后可以在Problems中看到增加了如下的警告信息内容。

(图略)FindBugs运行后的警告信息内容不仅在Problems视图中显示,而且将标记在源代码标记框中,在源代码编辑器中我们可以看到警告标识,当光标指向你的警告信息的代码上面时,就会有相应的错误提示信息,与Eclipse本身的错误或警告信息提示类似。

选中Problems视图里出现的相应问题,就会在代码编辑器里切换到相应的代码上去,方便根据相应的提示信息进行代码的修改。

相关文档
最新文档