Java Package Cycle Detection: Wie finde ich die beteiligten Klassen?

Welches tool würden Sie empfehlen, um zu erkennen, Java-Paket zyklische Abhängigkeiten
wissen, dass das Ziel ist Liste explizit die spezifischen Klassen beteiligt, die erkannt 'über-Pakete-Zyklus'?

Weiß ich über classycle und JDependaber Sie scheitern, die Klassen auflisten, die eingebunden in eine zyklische Paket-Abhängigkeit. Metriken hat eine interessante grafische Darstellung der Zyklen, aber es ist wieder auf Pakete, und ziemlich schwer zu Lesen, irgendwann.

Ich bin müde zu bekommen:

" Sie haben eine Paket-Zyklus-Abhängigkeit zwischen diesen 3 Paketen
Sie haben xxx-Klassen in jedem
gut Glück die Suche nach den richtigen Klassen und brechen dieses Zyklus "

Kennen Sie eine tool, das den zusätzlichen Schritt, um tatsächlich erklären Sie, warum der Zyklus erkannt wird (d.h. 'Liste der beteiligten Klassen')?


Riiight... die Zeit, verkünden die Ergebnisse:

@l7010.de: vielen Dank für die Mühe. Ich Stimmen Sie (wenn ich genug rep), vor allem für die 'KAPPE' Antwort... aber CAP ist tot im Wasser und nicht mehr kompatibel mit meinem Eclipse 3.4. Der rest ist kommerziell und ich schauen nur für freeware.

@daniel6651: Danke, aber, wie gesagt, die freeware nur (sorry, nicht erwähnt haben es in den ersten Platz).

@izb als häufiger Benutzer von findbugs (mit der neuesten 1.3.5 jetzt), ich bin nur einen Klick entfernt zu akzeptieren, Ihre Antwort... wenn Sie könnten mir erklären, was die option es zu aktivieren findbug zu erkennen-Zyklus. Dieses feature wird nur erwähnt, für die Version 0.8.7 im Vorbeigehen (suchen Sie nach 'Neue Stil-Detektor zu finden zyklischen Abhängigkeiten zwischen Klassen'), und ich bin nicht in der Lage, um es zu testen.
Update: Es funktioniert jetzt, und ich hatte einen alten findbugs-Konfigurations-Datei, in der diese option noch nicht aktiviert war. Ich mag immer noch CAD obwohl 😉

DIE ANTWORT ist... siehe meine eigene (zweite) Antwort unten

InformationsquelleAutor der Frage VonC | 2008-09-15

Schreibe einen Kommentar