2009-06-09 41 views
9

我目前正在重構一個大的Java應用程序。我將中央(Eclipse)項目中的一個劃分爲大約30個單獨的「組件」,但它們依然嚴重相互依賴。爲了更好地瞭解什麼取決於我所尋找的某種方式來繪製編譯時依賴關係。如何可視化jar(不是插件)依賴關係?

到目前爲止我發現的所有工具都能夠繪製包或類依賴關係或Eclipse插件之間的依賴關係,但是我想到的應該只是查看每個Eclipse項目的類路徑設置並構建較粗糙的粒度從那個圖表。

後來我會再深入一點,但是現在這意味着我無法看到所有樹木的森林。

回答

3

Structure101能夠可視化Jboss 5中的類和方法JAR級別依賴關係。

請參見下面的屏幕截圖或view it larger.

alt text

+1

圖片鏈接已死 – 2017-09-07 09:18:15

+1

鏈接已修復,謝謝旗下的Andrius。 – 2017-11-03 10:55:56

3

我相信會做你想做的一件工具是Understand。這不是免費的,但您可以在投入任何資金之前下載免費試用版。

8

結帳JBoss Tattletale。它可能不是你所要求的,但值得一試。儘管如此,它還是比較新的。

該工具將爲您提供報告,可以幫助你

  • 確定JAR文件之間的依賴關係
  • 查找類路徑
  • 現貨缺少類,如果一類位於多個JAR文件
  • 如果同一個JAR文件位於多個位置,則爲現場
  • 列出每個JAR文件要求並提供的內容
  • 驗證類
  • 的serialVersionUID的查找有不同的版本號
  • 查找JAR文件沒有版本號
  • 類似的JAR文件中找到一類在JAR文件
  • 獲取項目的OSGi的狀態
  • 刪除黑名單API使用
0

備案(和提高這方面的知識基礎),我發現蝦非常有幫助: http://www.thechiselgroup.org/shrimp

Shrimp-Visualization

而且,爲了方便依賴檢查,Byecycle值得一試,但似乎不再更新: Byecycle

這兩個工具還提供了Eclipse集成。

+0

蝦項目頁面說它重試。 Byecycle鏈接已損壞。 – s10z 2017-03-21 12:33:58

1

聽起來像Degraph的用例。它分析了一堆類文件和jar,並可視化依賴關係。

什麼使它適合你的用例(我認爲)是定義任意類的組合的可能性。所以你可以重現你的jar結構,看到依賴關係,尤其是循環依賴關係。

您可以展開組以查看其包含的類或摺疊它們以簡化視圖。

想要快速的印象什麼是可能的,看看Degraph Examples

爲Log4j的

實施例:

Log4J dependencies

2

JDeps已經包含在JDK,並且示出JAR依賴性。例如:

jdeps -R -cp "my\jar\dir\*;my\other\jar\dir\*" my\classes\dir