在調(diào)試源碼萍诱、學(xué)習(xí)總結(jié)時(shí)如果能有清晰的類圖、時(shí)序圖在手邊污呼,那么必將事半功倍裕坊。今天總結(jié)下個(gè)人摸索這款工具的坑,希望能讓大家在安裝使用時(shí)少走彎路燕酷。
首先我們需要的是一款能夠逆向的插件籍凝,逆向是指能夠根據(jù)java代碼自動(dòng)生成類圖或時(shí)序圖。當(dāng)然悟狱,很快我遍找到了很多款可用的插件列表静浴。然而在安裝過程中卻歷經(jīng)坎坷。
主要原因如下:
第一挤渐、各種被墻;
第二双絮、mac版浴麻,相對(duì)來說坑更多;
第三囤攀、網(wǎng)上帖子年代久遠(yuǎn)软免、大多項(xiàng)目地址已經(jīng)搬遷;
第四焚挠、插件使用介紹不多膏萧,裝好后仍難使用;
第五、沒有安裝GEF榛泛,導(dǎo)致插件出不來蝌蹂;
網(wǎng)上有很多中插件,本文不一一羅列曹锨,只講親測(cè)可用的AmaterasUML孤个。
第一步:安裝GEF
提供兩個(gè)版本的update site地址,如果eclipse版本較高(5.0.0 Oxygen)沛简,下載GEF5齐鲤,否則下載 GEF4;
GEF5 update site: http://download.eclipse.org/tools/gef/updates/releases
GEF4 update site: http://download.eclipse.org/tools/gef/gef4/updates/releases
補(bǔ)充一下update site的安裝方式:
打開eclispe -> help -> Install New Software
彈出框如下:
點(diǎn)擊add -> 輸入update site地址(name隨便填) -> ok
然后出現(xiàn)需要安裝的套件椒楣,Select All -> Next给郊,然后一步一步安裝,這個(gè)地址沒有被墻捧灰,稍微有點(diǎn)大丑罪,安裝速度應(yīng)該還可以。
第二步:安裝AmaterasUML
AmaterasUML update site: https://takezoe.github.io/amateras-update-site/
AmaterasUML搬到了github凤壁,所以下載速度也很快吩屹。網(wǎng)上老版本地址很多都不可用。
安裝步驟參考第一步拧抖;
第三步:使用AmaterasUML
順利的話煤搜,現(xiàn)在重啟eclipse就在file -> new -> other里面就可以看到AmaterasUML了。如果沒有唧席,應(yīng)該是哪里出問題了擦盾,可以留言探討。
AmaterasUML提供了活動(dòng)圖淌哟、類圖迹卢、時(shí)序圖、用例圖徒仓。這里介紹類圖和時(shí)序圖的使用腐碱。
Class Diagram 類圖:
類圖比較簡(jiǎn)單,我們新建一個(gè)類圖文件classDiagram.cld,
在這個(gè)視圖下掉弛,我們直接把需要展現(xiàn)的類從左側(cè)拖過去即可症见,需要注意的是,Link with Editor一定要關(guān)掉殃饿,如下圖:
簡(jiǎn)單拖拽谋作,一個(gè)簡(jiǎn)單的類圖就完成了。
右擊元素可以對(duì)其編輯乎芳、排版等遵蚜,詳細(xì)操作自由去探索吧帖池。
Sequence Diagram時(shí)序圖
時(shí)序圖如何生成?逆向時(shí)序圖由Stack Trace Sample視圖生成吭净。
首先window -> show view -> other睡汹,調(diào)出所有view
選擇Stack Trace Sample -> ok
出現(xiàn)如下視圖:
逆向時(shí)序圖就是由此view生成,這里需要準(zhǔn)備堆棧信息攒钳,復(fù)制進(jìn)Stack Trace Sample窗口帮孔。
堆棧信息復(fù)制進(jìn)去以后,點(diǎn)擊窗口右上角的那個(gè)小按鈕(不同版本可能不太一樣)直接生成時(shí)序圖不撑,然后彈出窗口選擇需要保存時(shí)序圖的位置文兢,如果沒有彈窗,可能是堆棧信息格式有誤焕檬。
打開保存的時(shí)序圖如下:
是不是很完美姆坚? 哈哈 還是不錯(cuò)。
有了堆棧信息实愚,產(chǎn)生時(shí)序圖很方便兼呵,目前我的堆棧信息是通過自定義異常拋出的,還在尋找更好的生成方式腊敲。