Eclipse的FindBugs插件 | |
問題提出: 當我們編寫完代碼,做完單元測試等各種測試后就提交正式運行,只能由運行的系統來檢測我們代碼是否有問題了,代碼中隱藏的錯誤在系統運行的過程中被發現后,然后再來進行相應的修改,那么后期修改的代價就相當高了。 解決方法: 現在有很多Java代碼分析工具,FindBugs中開源項目當中的一個,它可以幫你找到代碼中隱藏的一些錯誤,提升你的代碼能力與系統安全可靠性。 安裝 JDK:1.5.0 從http://java.sun.com上去下載安裝 Eclipse:3.1.1 從http://www.eclipse.org 上去下載解壓 FindBugs:0.9.4 從http://findbugs.sourceforge.net/ 官方的文檔 http://findbugs.sourceforge.net/manual/ Eclipse plugin for FindBugs version 0.0.17 從 http://findbugs.sourceforge.net/downloads.html 下載 插件管理技巧 提示:新下載的插件PlugIn一定不要都放在原始的Eclipse目錄下去。
使用 重新啟動Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,如下圖所示: ![]() FindBugs的使用方法 FindBugs是一個可以在Java程序中發現Bugs的程序。 它是專門用來尋找處于“Bug Patterns”列表中的代碼的。 Bug Patterns指很有可能是錯誤的代碼的實例。 目前FindBugs最高版本0.9.4,不過更新速度很快的,你應當經常上去看看是否有新版本發布。Eclipse plugin for FindBugs最高版本0.0.17。 系統要求 使用FindBugs至少需要JDK1.4.0以上版本,FindBugs是平臺獨立的,可以運行于GNU/Linux、Windows、MacOS X等平臺上。 運行FindBugs至少需要有256 MB內存,如果你要分析一個很大的項目,那就需要更加多的內存了。 FindBugs獨立運行和與Ant結合的詳細操作就不介紹了,可以看官方的文檔http://findbugs.sourceforge.net/manual/ 獨立運行的效果圖如下: ![]() 打開Bug Details視圖 Windows => Show View => Other… => FindBugs => BugDetails ![]() 在Package Explorer或Navigator視圖中,選中你的Java項目,右鍵,可以看到“Find Bugs”菜單項,子菜單項里有“Find Bugs”和“Clear Bug Markers”兩項內容,如下圖所示: ![]() 我們建立一個簡單的測試文件Test.java 內容如下: public class Test { private String[] name; public String[] getName() { return name; } public void setName(String[] name) { this.name = name; } } 我們點中“Find Bugs”,運行時會出現如下進度框: 運行結束后可以在Problems中看到增加了如下的警告信息內容 FindBugs運行后的警告信息內容不僅在Problems視圖中顯示,而且將標記在源代碼標記框中,在源代碼編輯器中我們可以看到警告標識,如下圖: 當光標指向你的警告信息的代碼上面時,就會有相應的錯誤提示信息,與Eclipse本身的錯誤或警告信息提示類似。 選中Problems視圖里出現的相應問題,就會在代碼編輯器里切換到相應的代碼上去,方便根據相應的提示信息進行代碼的修改。 ![]() 在Problems視圖里,選中相應的問題條目,右鍵,在彈出的菜單中,可以看到“Show Bug Details”,如下圖所示: ![]() 點中它,會切換到Bug Details視圖上去,顯示更加詳細的提示信息。 當然,在代碼編輯窗口中,點擊帶有警告提示信息的圖標時,也會自動切換到Bud Details窗口去,查看詳細的警告信息,如下圖所示。 ![]() 根據這里詳細的信息,你可以得到FindBugs為什么會對你的代碼報警告信息,及相應的處理辦法,根據它的提示,你可以快速方便地進行代碼修改。 ![]() 根據提示,我們將代碼修改成如下,再運行就不會報有警告信息了。 public class Test { private String[] name; public String[] getName() { String[] temp = name; return temp; } public void setName(String[] name) { String[] temp = name; this.name = temp; } } 配置FindBugs 選擇你的項目,右鍵 => Properties => FindBugs => ![]() 可以配置的信息包括如上圖所示的四個選項的相關設置:
總結 此插件的功能很不錯,可以幫助我們提升Java代碼的編寫能力,寫出更加安全可靠的代碼。建議使用或加在Ant里進行持續構建。現在,你可以馬上拿出你已經開發的一個項目,檢查一下你的代碼有沒有問題了。 |
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
|
||
相關文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(3)
隨筆檔案
文章分類
- CoreJava(23)
- DB(2)
- Eclipse的相關(18)
- File Version Control(1)
- JAVA2一些基本語法(1)
- JS(1)
- Maven2(1)
- SWT(2)
- Web Test Framework(1)
- WebService(5)
- XML(1)
文章檔案
- 2013年4月 (1)
- 2012年7月 (1)
- 2012年6月 (2)
- 2012年4月 (1)
- 2011年12月 (2)
- 2011年8月 (2)
- 2011年5月 (6)
- 2011年4月 (1)
- 2011年1月 (1)
- 2010年12月 (2)
- 2010年11月 (1)
- 2010年10月 (2)
- 2010年9月 (2)
- 2010年8月 (3)
- 2009年12月 (3)
- 2009年11月 (1)
- 2009年8月 (1)
- 2009年6月 (1)
- 2009年3月 (3)
- 2008年10月 (4)
- 2008年8月 (5)
- 2008年7月 (1)
- 2008年5月 (3)
- 2008年3月 (3)
- 2007年10月 (1)
- 2007年5月 (2)
- 2006年5月 (3)
相冊
搜索
最新評論

- 1.?re: Java Path[未登錄]
- Very helpful, 3ks a lot
- --coder
- 2.?re: MyEclipse + AXIS2
- 評論內容較長,點擊標題查看
- --wangqf
- 3.?re: JVM 內存初學 (堆(heap)、棧(stack)和方法區(method) )
- 寫得挺好的,容易理解。
- --陳同兵
- 4.?re: 獲得當前運行jar包存放路徑的方法
- 評論內容較長,點擊標題查看
- --mu
- 5.?re: MyEclipse + AXIS2
-
從tomcat中的axis2 web應用WEB-INF/lib目錄中加載所有jar包到項目的classpath中。
能不能具體說說怎么做?我將jar文件全部拷貝到項目的lib里……不行 - --zmaike