使用plantuml生成GO的類圖

最近在看Go源碼,自己寫類圖甚是苦惱器紧。然后就查了下資料邓尤。下面總結(jié)下流程:

利用go-package-plantuml分析go項(xiàng)目

首先畔况,我們需要一個(gè)工具分析GO項(xiàng)目并生成plantuml需要的uml源文件敦跌。
這里澄干,推薦一個(gè)大神的作品:go-package-plantuml,其github地址為HERE柠傍。也是一個(gè)go項(xiàng)目麸俘。
使用go-get安裝并編譯:

go get git.oschina.net/jscode/go-package-plantuml
go build git.oschina.net/jscode/go-package-plantuml

(當(dāng)然,需要具有GO的環(huán)境惧笛。)
build后疾掰,直接執(zhí)行,其中有四個(gè)參數(shù):

--codedir 目標(biāo)分析的代碼目錄
--gopath 本地設(shè)置GOPATH環(huán)境變量目錄
--outputfile 分析結(jié)果保存到該文件(設(shè)置了之后還是保存到了/tmp路徑下)
--ignoredir 不需要進(jìn)行代碼分析的目錄(可以不用設(shè)置)

這里我們就分析下該項(xiàng)目:

./go-package-plantuml --codedir /home/user/go/src/git.oschina.net/jscode/go
-package-plantuml --gopath /home/user/go --outputfile /home/user/result.txt 

結(jié)果輸出還是到了INFO[0001] 數(shù)據(jù)已保存到/tmp/uml.txt徐紧。

plantuml工具

其能夠?qū)⒅付ǜ袷降腢ML描述文件(文本形式)轉(zhuǎn)化為可視化的圖形文件(我們常見的UML圖)。
具體的UML描述文件格式和規(guī)范見官方網(wǎng)站的DOC炭懊。
下載地址:官方下載地址
可運(yùn)行程序是一個(gè)jar包并级。然后確保本地具有java環(huán)境后,執(zhí)行jar:

java -jar plantuml.jar /tmp/uml.txt

應(yīng)該就ok了侮腹。
這里就是生成的類圖文件:


image.png

So Good3氨獭!8缸琛S!·

這里有個(gè)小問題加矛,可能有些朋友會(huì)遇到這個(gè)問題:

java.io.IOException: Cannot run program "/usr/bin/dot": error=2, No such file or directory

然后履婉,看了一下,其需要安裝一個(gè)畫圖組件(非常牛逼):GraphViz斟览。
官方網(wǎng)站上可以見可執(zhí)行文件的下載版本毁腿,同時(shí)也可通過yum進(jìn)行安裝:

yum list 'graphviz*' 查看已安裝graphviz包
yum install 'graphviz*' 安裝graphviz

安裝完之后,運(yùn)行which dot苛茂,就可以看到了已烤。
如果運(yùn)行出現(xiàn):

image.png

就在run jar包的時(shí)候指定dot的位置:

java -jar plantuml.jar -verbose -graphvizdot /usr/bin/dot /tmp/uml.txt

這里dot的位置是你安裝的dot的位置,通過which dot可以找到妓羊。

參考鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胯究,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躁绸,更是在濱河造成了極大的恐慌裕循,老刑警劉巖臣嚣,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異费韭,居然都是意外死亡茧球,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門星持,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抢埋,“玉大人,你說我怎么就攤上這事督暂【韭ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵逻翁,是天一觀的道長饥努。 經(jīng)常有香客問我,道長八回,這世上最難降的妖魔是什么酷愧? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮缠诅,結(jié)果婚禮上溶浴,老公的妹妹穿的比我還像新娘。我一直安慰自己管引,他們只是感情好士败,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著褥伴,像睡著了一般谅将。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上重慢,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天饥臂,我揣著相機(jī)與錄音,去河邊找鬼似踱。 笑死擅笔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屯援。 我是一名探鬼主播猛们,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狞洋!你這毒婦竟也來了弯淘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤吉懊,失蹤者是張志新(化名)和其女友劉穎庐橙,沒想到半個(gè)月后假勿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡态鳖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年转培,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浆竭。...
    茶點(diǎn)故事閱讀 40,742評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浸须,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邦泄,到底是詐尸還是另有隱情删窒,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布顺囊,位于F島的核電站肌索,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏特碳。R本人自食惡果不足惜诚亚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望午乓。 院中可真熱鬧亡电,春花似錦、人聲如沸硅瞧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腕唧。三九已至,卻和暖如春瘾英,著一層夾襖步出監(jiān)牢的瞬間枣接,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工缺谴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留但惶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓湿蛔,卻偏偏與公主長得像膀曾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子阳啥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評論 2 361