2009-06-09 7 views
9

Attualmente sto refactoring una grande applicazione Java. Ho suddiviso uno dei progetti centrali (Eclipse) in circa 30 singoli "componenti", tuttavia sono ancora fortemente interdipendenti. Per avere una migliore idea di cosa dipende da cosa sto cercando un modo per rappresentare graficamente le dipendenze del tempo di compilazione.Come posso visualizzare le dipendenze di jar (non plugin)?

Tutti gli strumenti che ho trovato finora sono in grado di rappresentare graficamente pacchetto o la classe dipendenze o le dipendenze tra i plugin Eclipse, tuttavia ciò che ho in mente dovrebbe basta dare un'occhiata alle impostazioni del percorso di classe per ogni progetto Eclipse e costruire una grossa grana grafico da quello.

In seguito andrò più in profondità, tuttavia adesso questo significherebbe solo che non sarei in grado di vedere la foresta per tutti gli alberi.

risposta

3

Structure101 è in grado di visualizzare le dipendenze del livello JAR di classe e metodo in Jboss 5.

vedere la schermata qui sotto o view it larger.

alt text

+1

i link dell'immagine sono morti –

+1

collegamento fisso, grazie per la segnalazione Andrius. –

3

Uno strumento che credo possa fare ciò che si desidera è Understand. Non è gratuito, ma puoi scaricare una versione di prova gratuita prima di investire denaro in essa.

8

Check out JBoss Tattletale. Potrebbe non fare tutto quello che chiedi, ma vale la pena provarlo. È ancora relativamente nuovo però.

Lo strumento vi fornirà report che possono aiutare a

  • Identificare le dipendenze tra i file JAR
  • Trova le classi mancanti dal classpath
  • Spot se una classe si trova in più file JAR
  • Spot se lo stesso file JAR si trova in più posizioni
  • Con un elenco di ciò che ogni file JAR richiede e fornisce
  • Verificare il serialVersionUID di una classe
  • Trova file JAR simili che hanno diversi numeri di versione
  • file JAR
  • Trova senza un numero di versione
  • Individuare una classe in un file JAR
  • Prendi lo stato OSGi del vostro progetto
  • Rimuovere lista nera utilizzo dell'API
0

per la cronaca (e per migliorare questa base di conoscenza), ho trovato gamberetti molto utile: http://www.thechiselgroup.org/shrimp

Shrimp-Visualization

Inoltre, Per facilitare il controllo delle dipendenze, Byecycle vale la pena provare, ma sembra non essere più aggiornato: Byecycle

Entrambi gli strumenti offrono anche l'integrazione di Eclipse.

+0

La pagina del progetto gambero dice che è stata riprovata. Il collegamento Byecycle è rotto. – s10z

+0

@ s10z in realtà oggigiorno sono abbastanza soddisfatto dei diagrammi incorporati di IntelliJ per le dipendenze (ad esempio class e Maven) ... – Gregor

1

Suona come un caso d'uso per Degraph. Analizza una serie di file di classe e jar e visualizza le dipendenze.

Ciò che lo rende adatto al vostro caso d'uso (credo) è la possibilità di definire gruppi arbitrari di classi da raggruppare insieme. In questo modo è possibile riprodurre la struttura del vaso, osservando le dipendenze, in particolare le dipendenze cicliche.

È possibile aprire i gruppi per visualizzarne le classi contenute o comprimerle per semplificare la vista.

Per una rapida impressione di ciò che è possibile, dai un'occhiata allo Degraph Examples.

Esempio per Log4j:

Log4J dependencies

+0

Molto interessante. +1 – VonC

2

JDeps è già incluso nel JDK, e mostra le dipendenze JAR. Per esempio:

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