<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blog de Antonio Manuel Muñiz &#187; Dependencies</title>
	<atom:link href="http://amunizmartin.wordpress.com/tag/dependencies/feed/" rel="self" type="application/rss+xml" />
	<link>http://amunizmartin.wordpress.com</link>
	<description>Desarrollo, Ingeniería y Calidad del Software</description>
	<lastBuildDate>Mon, 30 Nov 2009 19:27:18 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='amunizmartin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/3f7b8b4861abbf6680395419293e44a6?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Blog de Antonio Manuel Muñiz &#187; Dependencies</title>
		<link>http://amunizmartin.wordpress.com</link>
	</image>
			<item>
		<title>Q4E Dependency Viewer: Maven y las dependencias transitivas</title>
		<link>http://amunizmartin.wordpress.com/2008/10/09/q4e-dependency-viewer-maven-y-las-dependencias-transitivas/</link>
		<comments>http://amunizmartin.wordpress.com/2008/10/09/q4e-dependency-viewer-maven-y-las-dependencias-transitivas/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 20:35:09 +0000</pubDate>
		<dc:creator>Antonio Manuel Muñiz Martín</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Dependencies]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Viewer]]></category>

		<guid isPermaLink="false">http://amunizmartin.wordpress.com/?p=83</guid>
		<description><![CDATA[Si no cuidamos las dependencias transitivas de nuestros proyectos web modelados con Maven, podemos encontrarnos con el problema de que nuestro WAR alcance un tamaño desproporcionado (hablamos de 40 o 50 MB), evidentemente, esto no es lógico. Está claro que estamos incluyendo decenas de librerías que no son usadas.
En los últimos días he estado llevando [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amunizmartin.wordpress.com&blog=3563308&post=83&subd=amunizmartin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Si no cuidamos las dependencias transitivas de nuestros proyectos web modelados con Maven, podemos encontrarnos con el problema de que nuestro WAR alcance un tamaño desproporcionado (hablamos de 40 o 50 MB), evidentemente, esto no es lógico. Está claro que estamos incluyendo decenas de librerías que no son usadas.</p>
<p>En los últimos días he estado llevando a cabo la tarea de &#8220;<em>limpiar</em>&#8221; las dependencias de uno de los proyectos en los que estoy trabajando. Me he encontrado cosas muy curiosas, como artefactos que dependen transitivamente de versiones anteriores de si mismas (jaxen:jaxen:1.1-beta6 -&gt; jdom:jdom 1.0 -&gt; jaxen:jaxen:1.0FCS), o ver que hay hasta 6 versiones distintas de log4j y 3 de spring-core en el classpath (con los consiguientes errores en los tests que acarrea esta última).</p>
<p>Para evitar esto debemos realizar un estudio a fondo de las dependencias del proyecto y poner los <em>exclude</em> necesarios en el POM. Esta tarea es prácticamente imposible si no se dispone de algún tipo de herramienta que analice por nosotros el POM obteniendo un listado de dependencias (directas y transitivas).</p>
<p>Mi primera opción ha sido una pequeña aplicación Java de escritorio: <a title="Maven Dependency Browser" href="http://code.google.com/p/maven-dependency-browser" target="_blank">Maven Dependency Browser</a>. En la propia página de esta herramienta se lee que ya no está siendo evolucionada, debido a que ha sido incluida como parte del proyecto <a title="Q4E" href="http://code.google.com/p/q4e" target="_blank">Q4E</a> y se mantiene de forma conjunta.</p>
<p>Q4E es un plugin para Eclipse que integra el uso de Maven con el IDE. Además incluye algunas herramientas como el citado Maven Dependency Browser, pero la funcionalidad que más me ha sorprendido es Maven Dependency Viewer, y como muestra un botón:</p>
<p><a href="http://amunizmartin.files.wordpress.com/2008/10/q4e-dependencies.png"><img class="aligncenter size-medium wp-image-85" title="q4e-dependencies" src="http://amunizmartin.files.wordpress.com/2008/10/q4e-dependencies.png?w=300&#038;h=168" alt="" width="300" height="168" /></a></p>
<p>Se trata del grafo de dependencias del módulo sonar-web del proyecto Sonar. Evidentemente, así es más fácil trabajar.</p>
Posted in Herramientas, Software Quality Tagged: Dependencies, Maven, Software Quality, Viewer <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/amunizmartin.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/amunizmartin.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/amunizmartin.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/amunizmartin.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/amunizmartin.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/amunizmartin.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/amunizmartin.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/amunizmartin.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/amunizmartin.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/amunizmartin.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=amunizmartin.wordpress.com&blog=3563308&post=83&subd=amunizmartin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://amunizmartin.wordpress.com/2008/10/09/q4e-dependency-viewer-maven-y-las-dependencias-transitivas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d30bd2fcdb387d2f82405c2a65298937?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Antonio Manuel Muñiz Martín</media:title>
		</media:content>

		<media:content url="http://amunizmartin.files.wordpress.com/2008/10/q4e-dependencies.png?w=300" medium="image">
			<media:title type="html">q4e-dependencies</media:title>
		</media:content>
	</item>
	</channel>
</rss>