Projects / UMLGraph


UMLGraph facilitates the declarative specification and drawing of UML class and sequence diagrams. One can specify a class design using the Java syntax complemented by Javadoc tags. Running the UmlGraph doclet on the specification generates a Graphviz diagram specification that can be automatically processed to create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings. Similarly, sequence diagrams are specified using declarative pic macros and compiled with the GNU plotutils pic2plot program into a PNG, PNM, (pseudo) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK drawing.


Recent releases

  •  13 May 2012 18:25

    Release Notes: This version adds the ability to make aggregate relationships navigable through the new @navhas and @navcomposed relationships, makes UMLGraphDoc generation compatible with JDK 7, improves the documentation, and moves the project's source code repository hosting to GitHub.

    •  08 Jan 2011 18:44

      Release Notes: This version creates clickable diagram elements in HTML content, makes the generation of diamond shapes compatible with GraphViz 2.27, and includes a fix to ensure that class images only appear once in the generated diagrams.

      •  24 May 2010 07:58

        Release Notes: A new -dotexecutable option allows the explicit specification of dot's location. In addition, UMLGrpah now supports javadoc's -linkoffline option. Documentation generated with UMLGraph will correctly process non-ASCII characters, will correctly hide relations of hidden fields, and will use by default a logical font rather than a font file name for italics. In addition, UmlGraphDoc will now obey the options specified through @opt tags within Java files. Finally, sequence diagrams provide an option to specify whether objects are underlined or not.

        •  03 Dec 2008 15:10

          Release Notes: This version corrects an exception when a dependency to an unknown class is specified. It also fixes a NullPointerException that occurred when no global options are available. It also corrects the case of the tools.jar filename in the umlgraph shell script.

          •  27 Aug 2008 20:35

            Release Notes: This version has active classes appearing with a double vertical border as required by UML2, two new class diagram options that control the node and rank separation of the nodes in generated diagram layout, support for showing a class's title as a tooltip in image files, and an option for generating Javascript-collapsible UML diagrams in Javadoc files.

            Recent comments

            05 Jan 2012 14:59 strombergjo

            I am using the UMLGraph jar directly and it is reporting a lot of problems of the kind:
            package X does not exist
            cannot find symbol symbol : Y
            for files not included as part of the command.
            Is there a way to ignore external packages/files (I am not really interested in UML for these anyway) or is there a way to add them as external dependencies?

            22 Feb 2011 13:47 martib

            UmlGraphDoc.runGraphviz() should return a boolean (false on exception) or an IOException in case of a error in "Runtime.getRuntime().exec()", because the calling methods (like generatePackageDiagrams()) do not interrupt in case of a exception. So UmlGraphDoc.runGraphviz() will always return 'true' and only a System.out message is printed.

            07 Oct 2010 15:12 kevinpotgieter

            This really is a fantastic product, however, I am wondering, does anyone know when the maven umlgraph plugin (version 5.3) will find its way into the public Maven Repository?

            02 Sep 2009 01:00 hereschenes

            Not sure how else to contact the project author, so I just wanted to report a bug in UMLGraph 5.2 - if you have a method in the Java source file which either returns a generic type, or uses a generic type as one of its parameters, then UMLGraph barfs on the output.

            I'm using the command-line interface to generate output, with the parameters "private -visibility -types -operations -attributes -enumerations -enumconstants -inferdep -inferreltype depend -constructors"

            26 Feb 2008 15:06 thammr

            Lots of warnings.
            Any reason why I am getting thousands of warnings of the form:

            javadoc: warning - Warning: illegal attribute balign in <TD> - ignored

            when using the doclet.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.