2015-09-09 49 views
-1

我正在研究一個將用於從Java代碼生成類圖的項目。該工具將jar文件作爲輸入並輸出Graphviz點格式文件作爲輸出。如何使用Java反射從源代碼中找出UML關聯

我知道使用Java反射和Class#getSuperclassClass#getInterfaces找到繼承和接口實現很簡單。但我很努力地找出關聯,組合和依賴關係。它可以用反射來完成,還是有一些外部庫可以幫助嗎?您可能能夠提供的任何示例代碼都會有很大的幫助。

+0

你可以試試[Apache BCEL](https://commons.apache.org/proper/commons-bcel/)。 –

回答

0

關聯和組合可以從班級領域推斷,所以Class#getDeclaredFields

對於依賴關係,您必須查看代碼以查看哪些類可能用作變量,而您無法使用反射。爲此,您必須使用庫(例如Apache Commons BCEL)來查看jar文件中.class文件的字節碼。