2011-09-27 84 views
8

我正在使用Windows和Eclipse 3.7 Classic与Android开发的ADT插件。Eclipse + FindBugs - 排除过滤器文件不起作用

我刚刚安装了FindBugs,它在自动生成的R.java类中发现了一个错误。

我想从FindBugs检查中排除这个类。

我发现我可以定义排除过滤器在XML文件中的FindBugs,所以我创建了一个文件d:\项目\日食\ FindBugsExculde.xml文本

<FindBugsFilter> 
    <Match> 
    <Class name="com.android.demo.notepad3.R$attr" /> 
    </Match> 
</FindBugsFilter> 

我添加这个文件到“排除过滤文件”部分附近的Eclipse - >窗口 - >首选项 - > Java - > FindBugs - >过滤文件 - >“添加...”按钮。

但是,当我在我的项目上单击右键,选择“查找错误” - >“查找错误”我仍然看到错误

The class name com.android.demo.notepad3.R$attr doesn't start with an upper case letter 

我甚至试图取代

<Class name="com.android.demo.notepad3.R$attr" /> 

<Class name="~.*" /> 

但仍然存在错误。

我试图重新启动Eclipse - 没有运气。我甚至想,也许存在的FindBugs所以它不使用规定,但Procmon.exe从SysinternalsSuite表明,每次做我执行FindBugs的时候使用它的文件中的错误:

ProcessName Operation Path         Result 
javaw.exe QueryOpen D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe QueryOpen D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CreateFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CreateFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe QueryFileInternalInformationFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CloseFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe ReadFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 
javaw.exe CloseFile D:\Projects\eclipse\FindBugsExculde.xml SUCCESS 

我在做什么错?请帮帮我!

回答

21

遵循Jenkins的指令,我在我的android工作区创建了一个findbugs-exclude.xml,并通过Eclipse - > Window - > Preferences - > Java - > FindBugs - > Filter files - >“Add ...”排除过滤器文件“部分查找小虫。我的第一个错误是我勾选了第一个复选框(包含过滤器:-)部分)。

然后我手动启动findbugs并且一切正常。我的文件内容是:

<?xml version="1.0" encoding="UTF-8"?> 
<FindBugsFilter> 
    <Match> 
     <Class name="~.*\.R\$.*"/> 
    </Match> 
    <Match> 
    <Class name="~.*\.Manifest\$.*"/> 
    </Match> 
</FindBugsFilter> 

我使用eclipse 3.7.1和findbugs 1.3.9。希望有所帮助。

0

请手动删除错误。选择错误并单击右键,选择删除。然后重建你的项目。

这可能是findbugs正在忽略文件,但这并不意味着它以前在文件上提出的错误被删除,它们仍然存在,并且您必须手动删除它们。

+0

不幸的是,这不是这种情况:(我试图删除它们,因为你建议,但他们再次上升下次我运行“查找错误”。我也尝试清除该项目 - 错误消失 - 但如果我运行“查找错误” - 它们会出现。 – Kluyg