我希望能夠比較兩個版本的類/庫,以確定是否有任何可能會破壞調用它的代碼的更改。例如,考慮在版本的方法有些類Foo:在方法簽名/字段中查找不兼容性的工具
public String readWidget(Object widget, Object helper);
和版本B的方法變爲:
public String readWidget(Object widget); //removed unnecessary helper object
或在現場的情況下,類似的事情:
version a: public static Object sharedFoo;
version b: static Object sharedFoo; //moved to package private for version b
我想要一個工具,將這些變化標記爲潛在的不兼容性(但理想情況下不會相反,即增加方法的可見性)。現在我知道我可以通過反射或通過分析來自javap的輸出來做到這一點,但似乎應該有一個現有的工具(最好是非商業的)。所以我想看看是否有人可以推薦一些東西,然後再犯我自己的錯誤/不必要地重新發明車輪。
我不確定這正是我正在尋找的,但它相當接近。我也一直在看japitools。 – 2011-03-30 17:02:43