Tuesday, April 19, 2011

Reverse Engineer UML from Maven project

I am a Netbeans user and after they discontinued UML plugin I started looking at other options which will work with my Maven projects and found this open source tool UMLGraph which does a good job but only lacks in proper documentation.

Good thing about this tool is, It works as a Maven plugin so all my UML gets automatically updated with any changes to code.


Setup is very straight forward and takes less then a minute.

Step 1
Install Graphviz 
   Is an open source graph visualization software.
   Note : Only install in a non-space directory (i.e "Program Files" won't work)
   Website : http://www.graphviz.org/
   Download link : Windows download

Step 2 
   http://www.umlgraph.org/ Is the Maven plugin which does the job
   
   Setup UMLGraph plugin to your pom.xml
 
   <project>
   ..
     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>doclet</artifactId>
                        <version>5.1</version>
                    </docletArtifact>
                    <additionalparam>-views</additionalparam>
                    <show>private</show>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Step 3
  command to generate UML : mvn javadoc:javadoc
   UML is created inside target/site directory of your project


  Sample Image
    
  
    

1 comment:

Anonymous said...

You seems to be an expert in this field, great post and keep up the great work, my buddy recommended me your blog.

My blog:
credit immobilier et meilleur taux Rachat de Credit