<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Justo Aguilar &#187; umlgraph</title>
	<atom:link href="http://blog.justoaguilar.com/tag/umlgraph/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.justoaguilar.com</link>
	<description>Libros, Java y lo que surja.</description>
	<lastBuildDate>Sun, 22 Jan 2012 14:26:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Javadoc con Diagramas de Clases usando Graphviz + UMLGraph + Maven</title>
		<link>http://blog.justoaguilar.com/2008/07/javadoc-con-diagramas-de-clases-usando-graphviz-umlgraph-maven/</link>
		<comments>http://blog.justoaguilar.com/2008/07/javadoc-con-diagramas-de-clases-usando-graphviz-umlgraph-maven/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 19:24:23 +0000</pubDate>
		<dc:creator>justo</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[graphviz]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javadoc]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[umlgraph]]></category>

		<guid isPermaLink="false">http://blog.justoaguilar.com/?p=59</guid>
		<description><![CDATA[Una de las herramientas más importantes con las que cuenta la plataforma Java es, sin duda, el javadoc. A través de ella es posible crear una referencia completa y homogénea de todo el conjunto de clases definidas es nuestro proyecto. Toda página de una clase del javadoc está dividida en distintas zonas, la primera de [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<!--INFOLINKS_ON-->
<p><p>Una de las herramientas más importantes con las que cuenta la plataforma <i>Java</i> es, sin duda, el <a href="http://java.sun.com/j2se/javadoc/">javadoc</a>. A través de ella es posible crear una referencia completa y homogénea de todo el conjunto de clases definidas es nuestro proyecto. </p>
<p>Toda página de una clase del <i>javadoc</i> está dividida en distintas zonas, la primera de ellas muestra la situación jerárquica de la clase respecto a la clase padre <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html">Object</a>. Bajo la situación jerárquica aparece la lista de interfaces que implementa si existe alguna y, por último, la lista de clases que la extienden. Para las interfaces aparece la lista de superinterfaz en primer lugar y la lista de subinterfaces en segundo.</p>
<p>Aunque esta información pueda ser suficiente en muchos casos, no estaría de más completarla con diagramas de clases que permitan una rápida visualización de la jerarquía de clases de nuestro proyecto. Ese es el objetivo de este post, añadir <em>diagramas de clases UML</em> a nuestro <em>javadoc</em>.</p>
<p><a class="thickbox" rel="" href='http://blog.justoaguilar.com/wp-content/gallery/umlgraph/nivel01.png' title=''><img src='http://blog.justoaguilar.com/wp-content/gallery/umlgraph/thumbs/thumbs_nivel01.png' alt='Diagrama UML generado con UMLGraph' class='ngg-singlepic ngg-center' /></a></p>
<p>Para ello necesitaremos dos cosas básicamente :</p>
<ul>
<li><a href="http://www.graphviz.org">Graphviz</a>, librería que permite la generación de gráficos.</li>
<li><a href="http://wiki.wsmoak.net/cgi-bin/wiki.pl?UMLGraph">UMLGraph</a> plugin para maven que sobreescribe el <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/javadoc/overview.html">doclet</a> que genera el javadoc para insertar los gráficos generados por Graphviz.</li>
<li><a href="http://maven.apache.org">Maven</a></li>
</ul>
<p>A continuación vamos a ver como instalar <em>Graphviz</em> y como configurar el <a href="http://maven.apache.org/pom.html">pom.xml</a> del proyecto maven para que use el plugin <em>UMLGraph</em>.</p>
<h3>Instalación de Graphviz</h3>
<p>Hay varias formas de hacerlo, bajando el fuente y compilando, haciendo un <em>checkout</em> del repositorio <a href="http://www.nongnu.org/cvs/">CVS</a> o dejando que el sistema de paquetes de tu sistema operativo lo haga todo por tí <img src='http://blog.justoaguilar.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Esto último es lo que haremos pues la finalidad de éste post es otra.</p>
<pre class="brush: bash; title: ; notranslate">
sudo apt-get update
sudo apt-get install graphviz
man dot
</pre>
<p></p>
<p>La última entrada es sólo para comprobar que el paquete ha sido instalado correctamente. </p>
<h3>Modificación del fichero <em>pom.xml</em> del proyecto</h3>
<p>Simplemente se debe añadir al fichero las siguientes líneas de código</p>
<pre class="brush: xml; title: ; notranslate">
...
&lt;reporting&gt;
  &lt;plugins&gt;
    &lt;plugin&gt;
      &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
      &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt;
      &lt;configuration&gt;
        &lt;doclet&gt;gr.spinellis.umlgraph.doclet.UmlGraphDoc&lt;/doclet&gt;
        &lt;docletArtifact&gt;
          &lt;groupId&gt;gr.spinellis&lt;/groupId&gt;
          &lt;artifactId&gt;UmlGraph&lt;/artifactId&gt;
          &lt;version&gt;4.6&lt;/version&gt;
        &lt;/docletArtifact&gt;
        &lt;additionalparam&gt;
          -inferrel -inferdep -quiet -hide java.* -collpackages java.util.* -qualify
          -postfixpackage -nodefontsize 9
          -nodefontpackagesize 7
        &lt;/additionalparam&gt;
      &lt;/configuration&gt;
    &lt;/plugin&gt;
  &lt;/plugins&gt;
&lt;/reporting&gt;
...
</pre>
<p>Para generar el <em>javadoc</em> se ejecutará el comando <code>mvn javadoc:javadoc</code> dentro del directorio<br />
donde se encuentra el fichero <code>pom.xml</code>.</p>
<p><a class="thickbox" rel="" href='http://blog.justoaguilar.com/wp-content/gallery/umlgraph/umlgraph_javadoc.png' title=''><img src='http://blog.justoaguilar.com/wp-content/gallery/umlgraph/thumbs/thumbs_umlgraph_javadoc.png' alt='Javadoc de la clase Nivel 1' class='ngg-singlepic ngg-center' /></a></p>

<!--INFOLINKS_OFF-->
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://blog.justoaguilar.com/2008/07/javadoc-con-diagramas-de-clases-usando-graphviz-umlgraph-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

