2011-09-27 26 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