<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0

    官方網(wǎng)站:http://findbugs.sourceforge.net/
    Eclipse插件:http://findbugs.sourceforge.net/downloads.html

      插件管理技巧

      提示:新下載的插件PlugIn一定不要都放在原始的Eclipse目錄下去。

    1. 前提是你已經(jīng)安裝好了Eclipse工具了,比如安裝在E:\OpenSource\Eclipse\目錄下,以下這個(gè)目錄以%ECLIPSE_HOME%來(lái)進(jìn)行表示;
    2. 此時(shí)默認(rèn)的插件是在%ECLIPSE_HOME%\plugins目錄中的;
    3. 在%ECLIPSE_HOME%下建立一個(gè)PlugInsNew的目錄;
      比如:E:\OpenSource\Eclipse\PlugInsNew\
    4. 你下載了個(gè)新的插件,比如叫做:XYZ
       那么就在%ECLIPSE_HOME%\PlugInsNew\目錄下建立XYZ目錄,目錄里面是eclipse目錄,eclipse目錄包含有features與plugins兩個(gè)子目錄;結(jié)構(gòu)如下圖所示:

        
    5. 把下載的新插件的文件放在以下相應(yīng)目錄中
      %ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features
      %ECLIPSE_HOME%\PlugInsNew\ XYZ\eclipse\plugins
    6. 建立相關(guān)的.link的文件
      然后在%ECLIPSE_HOME%\links目錄里建立一個(gè)XYZ.link的文件
      內(nèi)容如是:path=E:/OpenSource/Eclipse/PlugInsNew/XYZ就一行這樣的路徑指示而已。
      當(dāng)然,采用相對(duì)路徑來(lái)表示可能更直觀一些,方便進(jìn)行文件整體移動(dòng)和小組全部成員的共享命名用,省得移動(dòng)后要改動(dòng)Link文件里的絕對(duì)路徑而費(fèi)心費(fèi)力。直接拷貝過(guò)去就可以使用。
      即XYZ.link文件的內(nèi)容如是:path=../PlugInsNew/XYZ
      這樣,如果你下載了多個(gè)插件就可以如法炮制建立多個(gè)Link文件,想加載哪個(gè)插件就把哪個(gè)插件的Link文件放到%ECLIPSE_HOME%\links的目錄中即可,使用與管理都很方便,建議千萬(wàn)不要放在默認(rèn)的安裝目錄中;
      如果你的%ECLIPSE_HOME%與此不同,請(qǐng)修改XYZ.link文件里的路徑
    7. 刪除,關(guān)閉Eclipse
      刪除%ECLIPSE_HOME%\links\XYZ.link文件即可
      刪除%ECLIPSE_HOME%\PlugInsNew\XYZ整個(gè)目錄及文件
    8. 重新啟動(dòng)Eclipse即可

      使用

      重新啟動(dòng)Eclipse后,在Help => About Eclipse SDK => Plug-in Details你可以看到由“FindBugs Project”提供的“FindBugs Plug-in”版本0.0.17插件,如下圖所示:

      

      FindBugs的使用方法

      FindBugs是一個(gè)可以在Java程序中發(fā)現(xiàn)Bugs的程序。

      它是專(zhuān)門(mén)用來(lái)尋找處于“Bug Patterns”列表中的代碼的。

      Bug Patterns指很有可能是錯(cuò)誤的代碼的實(shí)例。

      目前FindBugs最高版本0.9.4,不過(guò)更新速度很快的,你應(yīng)當(dāng)經(jīng)常上去看看是否有新版本發(fā)布。Eclipse plugin for FindBugs最高版本0.0.17。

      系統(tǒng)要求

      使用FindBugs至少需要JDK1.4.0以上版本,F(xiàn)indBugs是平臺(tái)獨(dú)立的,可以運(yùn)行于GNU/Linux、Windows、MacOS X 等平臺(tái)上。

      運(yùn)行FindBugs至少需要有256 MB內(nèi)存,如果你要分析一個(gè)很大的項(xiàng)目,那就需要更加多的內(nèi)存了。

      FindBugs獨(dú)立運(yùn)行和與Ant結(jié)合的詳細(xì)操作就不介紹了,可以看官方的文檔http://findbugs.sourceforge.net/manual/

      獨(dú)立運(yùn)行的效果圖如下:

      

      本文主要介紹在Eclipse中使用的情況

      打開(kāi)Bug Details視圖

      Windows => Show View => Other… => FindBugs => BugDetails

      

      在Package Explorer或Navigator視圖中,選中你的Java項(xiàng)目,右鍵,可以看到“Find Bugs”菜單項(xiàng),子菜單項(xiàng)里有“Find Bugs”和“Clear Bug Markers”兩項(xiàng)內(nèi)容,如下圖所示:

      

      我們建立一個(gè)簡(jiǎn)單的測(cè)試文件Test.java 內(nèi)容如下:

    public class Test { private String[] name; public String[] getName() { return name; } public void setName(String[] name) { this.name = name; } } 


      我們點(diǎn)中“Find Bugs”,運(yùn)行時(shí)會(huì)出現(xiàn)如下進(jìn)度框:

      運(yùn)行結(jié)束后可以在Problems中看到增加了如下的警告信息內(nèi)容

      FindBugs運(yùn)行后的警告信息內(nèi)容不僅在Problems視圖中顯示,而且將標(biāo)記在源代碼標(biāo)記框中,在源代碼編輯器中我們可以看到警告標(biāo)識(shí),如下圖:

      當(dāng)光標(biāo)指向你的警告信息的代碼上面時(shí),就會(huì)有相應(yīng)的錯(cuò)誤提示信息,與Eclipse本身的錯(cuò)誤或警告信息提示類(lèi)似。

      選中Problems視圖里出現(xiàn)的相應(yīng)問(wèn)題,就會(huì)在代碼編輯器里切換到相應(yīng)的代碼上去,方便根據(jù)相應(yīng)的提示信息進(jìn)行代碼的修改。

      

      在Problems視圖里,選中相應(yīng)的問(wèn)題條目,右鍵,在彈出的菜單中,可以看到“Show Bug Details”,如下圖所示:

      

      點(diǎn)中它,會(huì)切換到Bug Details視圖上去,顯示更加詳細(xì)的提示信息。

      當(dāng)然,在代碼編輯窗口中,點(diǎn)擊帶有警告提示信息的圖標(biāo)時(shí),也會(huì)自動(dòng)切換到Bud Details窗口去,查看詳細(xì)的警告信息,如下圖所示。

      

      根據(jù)這里詳細(xì)的信息,你可以得到FindBugs為什么會(huì)對(duì)你的代碼報(bào)警告信息,及相應(yīng)的處理辦法,根據(jù)它的提示,你可以快速方便地進(jìn)行代碼修改。

      

      根據(jù)提示,我們將代碼修改成如下,再運(yùn)行就不會(huì)報(bào)有警告信息了。

    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

      選擇你的項(xiàng)目,右鍵 => Properties => FindBugs =>

      

      可以配置的信息包括如上圖所示的四個(gè)選項(xiàng)的相關(guān)設(shè)置:

    1. Run FindBugs Automatically開(kāi)關(guān)

      當(dāng)此項(xiàng)選中后,F(xiàn)indBugs將會(huì)在你修改Java類(lèi)時(shí)自動(dòng)運(yùn)行,如你設(shè)置了Eclipse自動(dòng)編譯開(kāi)關(guān)后,當(dāng)你修改完Java文件保存,F(xiàn)indBugs就會(huì)運(yùn)行,并將相應(yīng)的信息顯示出來(lái)。

      當(dāng)此項(xiàng)沒(méi)有選中,你只能每次在需要的時(shí)候自己去運(yùn)行FindBugs來(lái)檢查你的代碼。

    2. Minimum priority to report選擇項(xiàng)

      這個(gè)選擇項(xiàng)是讓你選擇哪個(gè)級(jí)別的信息進(jìn)行顯示,有Low、Medium、High三個(gè)選擇項(xiàng)可以選擇,很類(lèi)似于Log4J的級(jí)別設(shè)置啦。 比如:

      你選擇了High選擇項(xiàng),那么只有是High級(jí)別的提示信息才會(huì)被顯示。

      你選擇了Medium選擇項(xiàng),那么只有是Medium和High級(jí)別的提示信息才會(huì)被顯示。

      你選擇了Low選擇項(xiàng),那么所有級(jí)別的提示信息都會(huì)被顯示。

    3. Enable bug categories選擇項(xiàng)

      在這里是一些顯示Bug分類(lèi)的選擇:

      Correctness關(guān)于代碼正確性相關(guān)方面的

      Performance關(guān)于代碼性能相關(guān)方面的

      Internationalization關(guān)于代碼國(guó)際化相關(guān)方面的

      Multithreaded correctness關(guān)于代碼多線(xiàn)程正確性相關(guān)方面的

      Style關(guān)于代碼樣式相關(guān)方面的

      Malicious code vulnerability關(guān)于惡意破壞代碼相關(guān)方面的

      比如:如果你把Style的檢查框去掉不選擇中它,那么與Style分類(lèi)相關(guān)的警告信息就不會(huì)顯示了。其它的類(lèi)似。

    4. Select bug patterns to check for選擇項(xiàng)

      在這里你可以選擇所要進(jìn)行檢查的相關(guān)的Bug Pattern條目

      可以從Bug codes、Detector name、Detector description中看到相應(yīng)的是要檢查哪些方面的內(nèi)容,你可以根據(jù)需要選擇或去掉相應(yīng)的 檢查條件。

      總結(jié)

      此插件的功能很不錯(cuò),可以幫助我們提升Java代碼的編寫(xiě)能力,寫(xiě)出更加安全可靠的代碼。建議使用或加在Ant里進(jìn)行持續(xù)構(gòu)建。

      現(xiàn)在,你可以馬上拿出你已經(jīng)開(kāi)發(fā)的一個(gè)項(xiàng)目,檢查一下你的代碼有沒(méi)有問(wèn)題了

    posted on 2007-11-22 20:47 水煮三國(guó) 閱讀(2924) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): J2EE
    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(4)

    隨筆分類(lèi)(85)

    隨筆檔案(89)

    文章分類(lèi)(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 211636
    • 排名 - 266

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 久久久无码精品亚洲日韩京东传媒| 亚洲日日做天天做日日谢| 在线免费观看亚洲| 亚洲精品无码久久久久秋霞| 亚洲免费无码在线| 114级毛片免费观看| 全黄A免费一级毛片| 亚洲天堂福利视频| 亚洲国产综合无码一区二区二三区| 免费国产黄网站在线观看 | 亚洲欧美综合精品成人导航| 亚洲第一区在线观看| 1000部拍拍拍18勿入免费视频下载 | 成人免费乱码大片A毛片| 亚洲av日韩av综合| 久久久久亚洲AV综合波多野结衣| **aaaaa毛片免费| 国产免费人成视频在线播放播| 亚洲一级免费毛片| 国产AV无码专区亚洲AV毛网站| 免费无码不卡视频在线观看| 国产成人免费AV在线播放 | 中文字幕在线免费| 一级做a爰全过程免费视频毛片 | 中文字幕免费观看视频| 亚洲日本一线产区和二线| 久久青青成人亚洲精品| 免费乱理伦在线播放| 好爽…又高潮了毛片免费看| 国产无遮挡又黄又爽免费网站| 亚洲va中文字幕| 亚洲av无码不卡久久| 亚洲国产高清视频| 久久久久亚洲AV成人网人人网站| 成人免费毛片视频| 亚洲一区二区三区免费视频| 国产免费一区二区三区不卡 | 波霸在线精品视频免费观看| 爱情岛亚洲论坛在线观看 | 亚洲国产高清精品线久久| 午夜免费福利在线|