Generación automática de diagramas UML a partir del código fuente
Es posible generar diagramas de clase automáticamente a partir del código fuente usando Maven 2. Así, una vez se parte de los diagramas originales, no hace falta irlos actualizando a la par que el código para mantenerlos al día. Como pre-requisito es necesario tener instalado Graphviz, un programa open source con versiones para Windows, Linux y Mac, y tener en el path el subdirectorio bin de dicha aplicación.
Una vez hecho esto, se configura el plugin de generación del javadoc en la sección de reporting para que use un doclet que genere los diagramas UML en vez del que se usa por defecto:
<reporting>
[...]
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<show>private</show>
<doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.6</version>
</docletArtifact>
<additionalparam>
-inferrel
-collpackages java.util.*
-hide java.*
</additionalparam>
</configuration>
</plugin>
[...]
</reporting>
Al generar el site asociado al proyecto, si se verifican los javadocs generados uno se encuentra con algo similar a esto:

Si se tiene un proyecto que actúe como parent POM, lo mejor es definir la configuración anterior en él, de este modo la generación de diagramas de clase estará disponible para todos los proyectos hijo. ¡Listo!
(Leído en el wiki de VLab).
