2008-10-14 10 views
7

¿Hay alguna forma de encontrar todas las dependencias de clase de una clase principal de Java?¿Cómo obtengo una lista de dependencias de clases de Java para una clase principal?

He estado examinando manualmente las importaciones de la clase principal y sus importaciones, pero luego me di cuenta de que, como no es necesario importar clases que están en el mismo paquete, estaba preparando una lista incompleta.

Necesito algo que encuentre dependencias recursivamente (quizás a una profundidad definida).

+0

He tratado JavaSkeleton (http://www.xmloperator.net/jsk/) pero sólo funciona con Java 1.3 o 1.4 :( –

Respuesta

4

Puede hacerse fácilmente con solo javac. Borre sus archivos de clase y luego compile la clase principal. javac compilará recursivamente cualquier clase que necesite (siempre que no oculte las clases/interfaces privadas del paquete en archivos con nombres extraños). Por supuesto, esto no cubre ningún hack recursivo.

+0

¿Cómo genera esto una lista de dependencias de clase? –

+0

@Derek Mahar Bueno, tendrías que hacer un, erm, 'encontrar. -name" * .class "-print' o, er, 'dir/s' (y alguna otra opción). –

+0

¡Solución brillante! Funciona especialmente bien, si redirige la salida del javac a un directorio nuevo y vacío. Entonces puede sacar inmediatamente esa carpeta y tener una ¡Bonita biblioteca de dependencias! ¡Gracias! –

1

en intellij idea tienes la ingeniosa dependency structure matrix. puede explorar perfectamente las dependencias a nivel de paquete y clase. si le gusta más, también tiene un visor de dependencias, pero aquí solo puede ver dependencias de primer orden.

5

Acabo de encontrar Class Dependency Analyzer, descargo, instalo la configuración y luego de 10 minutos tengo una lista completa de Dependencias de clase.

+0

CDA es muy útil. –

+2

Esto debe ser la respuesta aceptada. – ArtB

+0

se puede decir cómo lo usaste exactamente para resolver este problema en particular? – qwwqwwq

Cuestiones relacionadas