UMLGraph 4.6 is the latest version. You can see examples of configuration and output here:
UMLGraph v4.4 is [available on ibiblio.com]. It includes an alternate doclet for the Javadoc tool that will generate UML diagrams as part of the Javadoc creation.
Note: You must have the Graphviz 'dot' binary on your PATH, or the images will not be generated.
I'm using Tiles 2 to test this...
svn co https://svn.apache.org/repos/asf/struts/sandbox/trunk/tiles
So, update the Tiles 2 pom:
~/svn/struts/current/sandbox/tiles
$ svn diff
Index: pom.xml
===================================================================
--- pom.xml (revision 425394)
+++ pom.xml (working copy)
@@ -136,6 +136,23 @@
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
+ <docletArtifact>
+ <groupId>gr.spinellis</groupId>
+ <artifactId>UmlGraph</artifactId>
+ <version>4.4</version>
+ </docletArtifact>
+ <additionalparam>
+ -inferrel -inferdep -quiet -hide java.* -collpackages java.util.* -qualify
+ -postfixpackage -nodefontsize 9
+ -nodefontpackagesize 7
+ </additionalparam>
+ </configuration>
+ </plugin>
</plugins>
</reporting>
Then 'mvn site' will build the site, including Javadoc with UML diagrams at the class and package level.
You can see UmlGraphDoc? in action in the Tiles 2 Javadoc, [here].
Changes
Install UmlGraph.jar into your local Maven 2 repository:
$ mvn install:install-file -Dpackaging=jar
-DartifactId=UmlGraph
-Dversion=4.3
-Dfile=/path/to/UmlGraph.jar
-DgroupId=gr.spinellis
-DgeneratePom=true
(all on one line)
With Maven 2, to run the UMLGraph doclet in addition to the normal HTML Javadoc doclet, configure the following section in your pom.
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>uml</id>
<configuration>
<doclet>gr.spinellis.umlgraph.doclet.UmlGraph</doclet>
<!--docletPath>/path/to/UmlGraph.jar</docletPath-->
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.3</version>
</docletArtifact>
<additionalparam>-views</additionalparam>
<destDir>target/uml</destDir>
<show>private</show>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>html</id>
<configuration>
<show>private</show>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
...
</plugins>
</reporting>
...
</project>
Note: To run the UMLGraph doclet instead of the usual HTML Javadoc doclet, move the configuration of the plugin from the <reporting> section to the <build> section.
Note: The patch for [MJAVADOC-46] was accepted, so with maven-javadoc-plugin 2.0, it is possible to configure a <docletArtifact> instead of a <docletPath>:
Note: If you have trouble with the Maven Javadoc Plugin, try building it from source:
$ svn co http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-javadoc-plugin
$ cd maven-javadoc-plugin
$ mvn install
See also: [Maven/Javadoc]
If you have any questions about using UMLGraph with Maven, please ask on the users@maven.apache.org [mailing list].
Andrea Aime posted a [message] to commons-dev offering automatically generated UML diagrams for DBCP. Since the UML diagrams for Struts Action are labeled "1.1" and dated 2003, I was interested! The library is [UMLGraph] in conjunction with [Graphviz].
After a bit of initial trouble, (the linked examples were done with a snapshot of UMLGraph 4.2,) I got version 4.1 to generate some package level diagrams. Once Andrea provided a link to a nightly build of version 4.2 and answered some questions, I was able to produce a "view" of some classes in the org.apache.shale.dialog package:
More diagrams, plus the UmlGraphConfig.java and build-uml.xml files:
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.3</version>
<packaging>jar</packaging>
<name>UML Graph</name>
<url>http://www.spinellis.gr/sw/umlgraph/</url>
<description>Declarative Drawing of UML Diagrams</description>
<licenses>
<license>
<name>BSD License (original)</name>
<url>http://www.opensource.org/licenses/bsd-license.php</url>
<distribution>repo</distribution>
</license>
</licenses>
<dependencies/>
</project>