- 浏览: 177488 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
spzjby:
这。。应该不行吧,在上传的时候文件正在写入,cancel操作要 ...
基于AJAX的文件上传显示进度条实现 -
lomodd:
准备做一个,拿来参考了。
基于AJAX的文件上传显示进度条实现 -
BackMe:
终于找到需要的东西了,学习中! 好东西果断收藏!
Ajax留言本实现 -
benlsoft:
谢谢了,试下先。
VirtualBox 安装ghost版windows XP -
yexin218:
plkong 写道cqllang 写道偶比较关注楼主咋把每张图 ...
最新版easyMule-VeryCD-src v1.1.13编译
关于findbugs收集的网络资料信息
http://blog.csdn.net/lywybo/article/details/5335748
http://blog.csdn.net/z3h/article/details/1669311
http://findbugs.sourceforge.net/downloads.html
1.1 准备
下载 findbugs : http://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/findbugs-1.3.9.zip/download
修改 build.xml , 去除所有的 validate 依赖。执行 ant 编译。
eclipse 引入 findbugs 工程 。
1.2 实现类
直接在 findbugs 目录中增加类
package edu.umd.cs.findbugs.detect;
import org.apache.bcel.classfile.Code;
import edu.umd.cs.findbugs.BugInstance;
import edu.umd.cs.findbugs.BugReporter;
import edu.umd.cs.findbugs.bcel.OpcodeStackDetector;
/**
* @author bo
* 这个规则 类用于判断 System.out 和 System.error 这种情况
*/
public class ForbiddenSystemClass extends OpcodeStackDetector {
BugReporter bugReporter ;
public ForbiddenSystemClass(BugReporter bugReporter) {
this . bugReporter = bugReporter;
}
/**
* visit 方法,在每次进入字节码方法的时候调用
* 在每次进入新方法的时候清空标志位
*/
@Override
public void visit (Code obj) {
super .visit(obj);
}
/**
* 每扫描一条字节码就会进入 sawOpcode 方法
*
* @param seen 字节码的枚举值
*/
@Override
public void sawOpcode ( int seen) {
if (seen == GETSTATIC ) {
if (getClassConstantOperand().equals( "java/lang/System" )
&& (getNameConstantOperand().equals( "out" ) || getNameConstantOperand().equals( "error" ))) {
BugInstance bug = new BugInstance( this , "ALP_SYSTEMCLASS" , NORMAL_PRIORITY ).addClassAndMethod( this )
.addSourceLine( this , getPC());
bug.addInt(getPC());
bugReporter .reportBug(bug);
}
}
}
}
1.3 修改 etc 目录配置文件 findbugs.xml 和 message.xml
不支持中文注释。
在 findbugs.xml 增加内容。
< Detector class = "edu.umd.cs.findbugs.detect.ForbiddenSystemClass"
speed = "fast"
reports = "ALP_SYSTEMCLASS"
hidden = "false" />
< BugPattern abbrev = "LIANGJZFORBIDDENSYSTEMCALSS" type = "ALP_SYSTEMCLASS" category = "EXPERIMENTAL" />
Message.xml 增加:
< Detector class = "edu.umd.cs.findbugs.detect.ForbiddenSystemClass" >
< Details >
<![CDATA[
<p>category:detector find System.out/System.error
<p>please use log4j
]]>
</ Details >
</ Detector >
< BugPattern type = "ALP_SYSTEMCLASS" >
< ShortDescription > short desc:System.out/error </ ShortDescription >
< LongDescription > class={0},method {1}long desc:System.out,please use log4j </ LongDescription >
< Details >
<![CDATA[
<p>detail info see log4j document</p>
]]>
</ Details >
</ BugPattern >
1.4 用 findbugs 图形化界面测试
点击 bin/finbugs.bat ,打开扫描的 .class 目录。看到扫描带 System.out 或者 System.error 的 .class 放到 experimental 类错误时,验证成功。
1.5 替换 eclipse findbugs-plugin.jar 文件
用 winrar 打开
D:\devtools\eclipse_3.5.1\plugins\edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821\findbugs-plugin.jar 中 message.xml,findbugs.xml,z 加入二进制的 edu.umd.cs.findbugs.detect .ForbiddenSystemClass 。
重启 elipse, 还需要确保 experimental 类的错误能在 findbugs 窗口展现: windows->preferences->java->findbugs->reporter configuration 上的 experimental 选项勾上。
执行 findbugs 扫描 .class,看到结果出现..
发表评论
-
java socket
2017-03-19 20:34 526Socket接收字节缓冲区 http://blog.csd ... -
ab test
2015-04-09 23:36 0https://github.com/ysc/APDPla ... -
log4j 最佳配置优化
2015-04-06 21:03 1102<?xml version="1.0&qu ... -
逆波兰表示法Java
2014-03-08 19:54 1329package org.plkong; import ... -
jquery 优秀 组件收集
2013-06-07 22:23 9801. Flexigrid http://flexigri ... -
webrenderer
2013-03-12 22:23 926 -
Ant JavaScript 使用
2013-03-04 19:16 759http://ant.apache.org/manual/T ... -
Jenkins插件开发入门 资料收集
2013-01-31 09:44 8031Jenkins插件开发入门 Jenkins的前身是Hu ... -
远程调试CruiseControl 服务器
2012-12-12 00:02 8411. 修改cruisecontrol.bat配置文件 ... -
ererwerwer
2012-09-21 19:19 0http://www.csdn.net/article/201 ... -
Java字节码(.class文件)格式详解((转载)
2012-09-18 23:21 970http://www.blogjava.net/DLevin/ ... -
findbugs 网络收集
2012-11-10 17:13 1001[hyddd的FindBugs分析记录][M X O ... -
CruiseControl 和 Tomca集成
2012-09-15 14:49 1171初步开始研究持续集成引擎:CruiseControl(CC), ... -
设计模式-adapter
2012-08-26 15:33 932基本概念 客户:需要调用我们的代码的对象。 ... -
eclipse 启动远程调试
2012-08-03 14:35 0start java -Xdebug -Xrunjdwp:tr ... -
bat 后台运行
2012-06-03 20:43 1220方法一: @echo off if "%1 ... -
自定义限制JTextArea输入的字符数
2012-05-23 22:25 1733import javax.swing.JTextArea ... -
一个l类似 Jlabel 用于自动换行的文本显示组件
2012-05-19 23:43 3392在Swing中Jlabel组件显示长文本不换行,用JtextA ... -
java this$0
2012-05-06 00:19 5364有synthetic标记的field和me ... -
Swing UI
2012-02-22 23:46 1019注意代码中的几个部分: 首先是paintComponent方 ...
相关推荐
标题中的"findbugs压缩包+findbugs.jar+findbugs-ant.jar"指的是该压缩文件内包含FindBugs的主要库文件`findbugs.jar`,这是执行FindBugs分析的核心组件,它包含了各种检测规则和算法。另外,`findbugs-ant.jar`则是...
《FindBugs 3.0.1:Java代码静态分析工具深度解析》 FindBugs是一款广受欢迎的开源工具,用于检测Java代码中的潜在错误和不良编程习惯。在"findbugs-3.0.1.zip"这个压缩包中,包含了FindBugs 3.0.1版本的详细资料和...
《深入理解FindBugs 1.3.9:静态代码分析的强大工具》 FindBugs是一款广受欢迎的静态代码分析工具,它的版本1.3.9在软件开发领域具有重要的地位。这款开源工具的主要功能是检测Java代码中的潜在错误,帮助开发者在...
赠送jar包:findbugs-annotations-1.3.9-1.jar; 赠送原API文档:findbugs-annotations-1.3.9-1-javadoc.jar; 赠送源代码:findbugs-annotations-1.3.9-1-sources.jar; 赠送Maven依赖信息文件:findbugs-...
**Findbugs在Ant下的配置方法** FindBugs是一款开源的静态代码分析工具,主要用于检测Java代码中的潜在错误、坏味道和安全漏洞。它通过分析字节码而非源代码,能够发现许多编译器无法捕获的问题。在Ant构建环境中...
《深入理解FindBugs:基于20081008源码的探索》 FindBugs是一款著名的静态代码分析工具,它通过扫描Java字节码来检测潜在的错误和不良编程习惯,被誉为“程序员的无声守护者”。2008年10月08日的版本是FindBugs发展...
【findbugs工具测试Java实验报告】 在软件开发过程中,代码质量是至关重要的,因为它直接影响到程序的稳定性、可维护性和性能。为了确保代码的质量,开发者通常会采用各种静态代码分析工具,其中FindBugs就是一款...
FindBugs是一款非常知名的静态代码分析工具,它主要用于在Java代码中发现潜在的错误和缺陷。Eclipse是一款广泛使用的集成开发环境(IDE),对于Java开发者来说尤其重要。将FindBugs集成到Eclipse中,可以帮助开发者...
`FindBugs`是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和不良实践。它通过分析字节码来找出可能存在的问题,而无需实际运行程序。在Maven项目中,我们可以使用`findbugs-maven-plugin`这个...
IDEA插件-FindBugs-IDEA-1.0.1,威哥开发使用,决定可以用。自行导入IDEA。Findbugs是一个静态分析工具,它检查类或者JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。Findbugs自带检测器,其中有60余种...
FindBugs是一款静态代码分析工具,它用于检测Java代码中的潜在缺陷。中文版的FindBugs规则文档提供了关于代码质量的多个方面的指导,包括安全、实验性等方面的问题。以下是这些规则的详细解释: 1. Dm: Hardcoded ...
**findbugs最新Eclipse插件**是用于静态代码分析的工具,它可以帮助开发者在编码阶段发现潜在的错误和不良编程习惯。FindBugs是开源项目,由University of Maryland开发并维护,广泛应用于Java应用程序的质量保证...
FindBugs是一款开源的静态代码分析工具,专用于检测Java应用程序中的潜在错误和不良编程习惯。在Java开发中,FindBugs能够帮助开发者在代码执行之前发现潜在的问题,从而提高软件质量和可维护性。1.3.8是FindBugs的...
FindBugs是一款强大的静态代码分析工具,主要用于检测Java代码中的潜在错误和不良编程习惯。它通过对编译后的字节码进行分析,而不需要实际运行代码,就能找出可能存在的问题,从而帮助开发者提升代码质量,减少运行...
FindBugs是一款强大的Java字节码静态分析工具,它能够帮助开发者在代码执行前发现潜在的缺陷和质量问题。通过检查类文件和JAR包,FindBugs与一系列预定义的缺陷模式进行匹配,从而找出可能存在的问题。这种静态分析...
FindBugs插件是将FindBugs工具集成到Eclipse中的一个扩展,使得用户在开发过程中可以方便地检查代码问题。 安装FindBugs插件的过程相对简单。首先,你需要下载`edu.umd.cs.findbugs.plugin.eclipse_3.0.1.20150306-...
FindBugs是一款强大的静态代码分析工具,主要用于检测Java应用程序中的潜在错误、不良编程习惯和可能的安全漏洞。在MyEclipse 2017这样的集成开发环境中(IDE)集成FindBugs插件,可以帮助开发者在编码阶段就发现并...
《FindBugs:Java代码静态分析工具的深度解析》 FindBugs是一款开源的Java代码静态分析工具,其主要功能是检测源代码中可能存在的错误和潜在问题。这个工具通过扫描字节码来查找可能的问题,而不是运行程序,因此...
【FindBugs 2.0 插件详解】 FindBugs 是一款强大的静态代码分析工具,主要用于检测 Java 应用程序中的潜在错误和缺陷。在 2.0 版本中,FindBugs 支持 JDK 1.6,并且能够与 Eclipse 3.2 及以上版本无缝集成,为...