我目前正在重構一個大的Java應用程序。我將中央(Eclipse)項目中的一個劃分爲大約30個單獨的「組件」,但它們依然嚴重相互依賴。爲了更好地瞭解什麼取決於我所尋找的某種方式來繪製編譯時依賴關係。如何可視化jar(不是插件)依賴關係?
到目前爲止我發現的所有工具都能夠繪製包或類依賴關係或Eclipse插件之間的依賴關係,但是我想到的應該只是查看每個Eclipse項目的類路徑設置並構建較粗糙的粒度從那個圖表。
後來我會再深入一點,但是現在這意味着我無法看到所有樹木的森林。
我目前正在重構一個大的Java應用程序。我將中央(Eclipse)項目中的一個劃分爲大約30個單獨的「組件」,但它們依然嚴重相互依賴。爲了更好地瞭解什麼取決於我所尋找的某種方式來繪製編譯時依賴關係。如何可視化jar(不是插件)依賴關係?
到目前爲止我發現的所有工具都能夠繪製包或類依賴關係或Eclipse插件之間的依賴關係,但是我想到的應該只是查看每個Eclipse項目的類路徑設置並構建較粗糙的粒度從那個圖表。
後來我會再深入一點,但是現在這意味着我無法看到所有樹木的森林。
我相信會做你想做的一件工具是Understand。這不是免費的,但您可以在投入任何資金之前下載免費試用版。
我不確定是否有(n Eclipse)類路徑分析工具。
可能會理解mentioned by MattK可以提供幫助。
我會從static code analysis tool referenced here中選出的最接近的是JarAnalyzer(雖然沒有圖表),能夠在罐子中檢測到「Physical dependencies」。
結帳JBoss Tattletale。它可能不是你所要求的,但值得一試。儘管如此,它還是比較新的。
該工具將爲您提供報告,可以幫助你
備案(和提高這方面的知識基礎),我發現蝦非常有幫助: http://www.thechiselgroup.org/shrimp
而且,爲了方便依賴檢查,Byecycle值得一試,但似乎不再更新: Byecycle
這兩個工具還提供了Eclipse集成。
蝦項目頁面說它重試。 Byecycle鏈接已損壞。 – s10z 2017-03-21 12:33:58
退房類依賴分析儀(CDA):http://www.dependency-analyzer.org/
我已經找到了整理罐子它非常有用。
聽起來像Degraph的用例。它分析了一堆類文件和jar,並可視化依賴關係。
什麼使它適合你的用例(我認爲)是定義任意類的組合的可能性。所以你可以重現你的jar結構,看到依賴關係,尤其是循環依賴關係。
您可以展開組以查看其包含的類或摺疊它們以簡化視圖。
想要快速的印象什麼是可能的,看看Degraph Examples。
爲Log4j的實施例:
JDeps已經包含在JDK,並且示出JAR依賴性。例如:
jdeps -R -cp "my\jar\dir\*;my\other\jar\dir\*" my\classes\dir
圖片鏈接已死 – 2017-09-07 09:18:15
鏈接已修復,謝謝旗下的Andrius。 – 2017-11-03 10:55:56