2011-03-14 10 views
7

¿Hay alguna forma de generar una lista de clases en un proyecto Java que ya no necesiten otras clases en ese proyecto?Cómo obtener una lista de clases en un proyecto que ya no necesita ningún proyecto

Aquí es un diagrama para ayudar a ilustrar la situación (espero que disfruten de mi diagrama de ASCII, ya que no tengo representante suficiente para utilizar una imagen), donde C y B dependen de proyecto A:

  A 
     /\ 
    / \ 
     C  B 

Empecé a refactorizar moviendo el código de B a A, para poder compartirlo con C y B. Sin embargo, ahora que estoy a punto de terminar de refactorizar, quiero verificar si hay alguna clase a la que me haya mudado. A que ahora puede volver a bajar a B (clases que están en A pero que no están usando ningún código en A)

¿Hay alguna herramienta que pueda usar para generar una lista de tales cl Culos para mí?

+0

+1 para su diagrama ascii :-) –

Respuesta

6

JBoss Tattletale funciona bien para esto. Lo he usado en el pasado para descubrir qué bibliotecas de terceros ya no son necesarias para nuestro proyecto y también para aprender sobre paquetes/clases potencialmente conflictivos que están presentes en múltiples archivos JAR.

1

Comience su programa con el -verbose:class flag en la JVM. Redirige la salida a un archivo. Ejercita tu programa: ejecuta tus pruebas o lo que sea. Grep el nombre de cada clase cargada. Ejecute find en sus directorios de salida de compilación para hacer una lista de todas sus clases. Compare los resultados para encontrar algo en sus directorios de salida de compilación que no esté en la lista de clases cargadas.

Cuestiones relacionadas