<?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>Dertin Blog</title>
	<atom:link href="http://dertin.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dertin.wordpress.com</link>
	<description>Sobre Ciencia, Tecnología, Programación y sobre la Vida Misma.</description>
	<lastBuildDate>Sun, 04 Jan 2009 06:12:39 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='dertin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ccfd7320ce2f27f2b56bde8403451f8d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Dertin Blog</title>
		<link>http://dertin.wordpress.com</link>
	</image>
			<item>
		<title>Dertin GNU/Linux</title>
		<link>http://dertin.wordpress.com/2009/01/04/dertin-gnulinux/</link>
		<comments>http://dertin.wordpress.com/2009/01/04/dertin-gnulinux/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 05:24:25 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Dertin GNU/Linux]]></category>
		<category><![CDATA[aprendizaje]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[lfs]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sistemas operativos]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=171</guid>
		<description><![CDATA[Dertin GNU/Linux, una distribución en vía de desarrollo<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=171&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Dertin GNU/Linux una distribución en vía de desarrollo, en estos días pasados eh emprendido un desafío; crear una distribución de GNU/Linux reforzando su aspecto de seguridad y de sistema ágil veloz para propósitos generales, una distribución no muy pesada, pero que este equipada de las cosas que realmente son útiles, posiblemente crear encuestas más adelante para definir el objetivo que distinga a esta distribución de las demás; este desafío no quiero que sea solo mio, estamos halando de la idea de software libre, para compartir, criticar, aportarle ideas, documentarle, publicitarle, en fin&#8230; busco gente que me apoye en este proyecto, el cual esta abierto a todo aquel que quiera ser parte de él, para hacerlo suscribirte al grupo.</p>
<table style="background-color:#fff;padding:5px;" border="0" cellspacing="0">
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td style="padding-left:5px;font-size:125%;">
<p style="text-align:center;"><a href="http://groups.google.com/group/dertin"><img class="alignleft size-full wp-image-179" title="Dertin GNU/Linux" src="http://dertin.files.wordpress.com/2009/01/linux_dertin.png?w=184&#038;h=165" alt="Dertin GNU/Linux" width="184" height="165" /></a></p>
<p><strong>Dertin GNU/Linux</strong></td>
</tr>
<tr>
<td style="padding-left:5px;">
<h3><strong><a title="Unirte al Grupo, Dertin GNU/Linux" href="http://groups.google.com/group/dertin/subscribe" target="_blank">Unirte al grupo</a></strong></h3>
</td>
</tr>
</tbody>
</table>
<p>Sitio de desarrollo: <a href="http://code.google.com/p/dertin/" target="_blank">http://code.google.com/p/dertin/</a></p>
<p>Gracias por leer, deja tu comentario, att: Dev. Dertin</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=171&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2009/01/04/dertin-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>

		<media:content url="http://dertin.files.wordpress.com/2009/01/linux_dertin.png" medium="image">
			<media:title type="html">Dertin GNU/Linux</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu 9.04 Alpha 2</title>
		<link>http://dertin.wordpress.com/2008/12/31/ubuntu-904-alpha-2/</link>
		<comments>http://dertin.wordpress.com/2008/12/31/ubuntu-904-alpha-2/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 03:56:38 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Ubuntu 9.04]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=169</guid>
		<description><![CDATA[


Ubuntu 9.04 Alpha 2
Se lanzo la segunda versión Alpha de Ubuntu 9.04 &#8220;Jaunty Jackalope&#8221;, anuncio oficial.
Me informe que hay una larga lista de paquetes renovados.
Ya esta recibiendo de parte de la comunidad y developers&#8230;, los reportes de fallas de esta versión Alpha; que como ya saben tiene muchas fallas, que son tratadas y resueltas a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=169&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div class="span-3">
<div id="main">
<div class="news alone">
<h1 style="text-align:right;">Ubuntu 9.04 Alpha 2</h1>
<p>Se lanzo la segunda versión <em>Alpha</em> de Ubuntu 9.04 &#8220;Jaunty Jackalope&#8221;, <a title="Ubuntu 9.04" href="https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-December/000516.html" target="_blank">anuncio oficial.</a></p>
<p>Me informe que hay una <a href="https://lists.ubuntu.com/archives/jaunty-changes/2008-December/thread.html">larga lista</a> de paquetes renovados.</p>
<p>Ya esta recibiendo de parte de la comunidad y developers&#8230;, los reportes de fallas de esta versión Alpha; que como ya saben tiene muchas fallas, que son tratadas y resueltas a medida que avanzan los lanzamientos; la idea es que ya a &#8220;bajo desarrollo&#8221; se publiquen estas versiones Alpha para acelerar las metas, dado que el rol de reportar fallas o bugs hacer que se fortaleze el producto final.</p>
<p>&#8220;La siguiente versión <em>Alpha 3</em> está planeada para el próximo <strong>15 de Enero</strong> y la versión final para el <strong>23 de Abril del 2009</strong>.&#8221;</p>
<ul>
<li>Descargar: <a href="http://cdimage.ubuntu.com/releases/jaunty/alpha-2/jaunty-desktop-i386.iso">Ubuntu 9.04 Alpha 2 i386</a> [ISO]</li>
<li>Descargar: <a href="http://cdimage.ubuntu.com/releases/jaunty/alpha-2/jaunty-desktop-amd64.iso">Ubuntu 9.04 Alpha 2 AMD64</a> [ISO]</li>
</ul>
</div>
<div class="news alone">Tenes alguna otra novedad ?, deja tu comentario.</div>
<div class="news alone">Dertin</div>
</div>
</div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/169/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/169/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/169/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=169&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/31/ubuntu-904-alpha-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>EL PEOR ATAQUE DE UN HACK A LA INFORMÁTICA ES NO HACERLE NADA</title>
		<link>http://dertin.wordpress.com/2008/12/30/el-peor-ataque-de-un-hack-a-la-informatica-es-no-hacerle-nada/</link>
		<comments>http://dertin.wordpress.com/2008/12/30/el-peor-ataque-de-un-hack-a-la-informatica-es-no-hacerle-nada/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 05:24:41 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Hackers]]></category>
		<category><![CDATA[Ciencia]]></category>
		<category><![CDATA[dertin]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[Hacker]]></category>
		<category><![CDATA[Historia]]></category>
		<category><![CDATA[Tecnología]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=154</guid>
		<description><![CDATA[Explica el sentido de la frase dicha por [Dertin] sobre la seguridad informática y el mundo de los hackes
"EL PEOR ATAQUE DE UN HACK A LA INFORMÁTICA ES NO HACERLE NADA"<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=154&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Explica el sentido de la frase dicha por [Dertin] sobre la seguridad informática y el mundo de los hackes<br />
&#8220;EL PEOR ATAQUE DE UN HACK A LA INFORMÁTICA ES NO HACERLE NADA&#8221;</p>
<p><span id="more-154"></span></p>
<p>Dertin: <em>EL PEOR ATAQUE DE UN HACK A LA INFORMÁTICA ES NO HACERLE NADA</em></p>
<h3>Hola, les escribe Dertin, como ya saben soy estudiante en informática y programación, me gusta trabajar con servidores dedicados; bueno hoy les traigo a mi blog un toque personal, una de mis locas ideas, sobre la informática y lo que hoy en día  nos deja boca abierta, cundo nos llegan artículos, informes, diarios, lo vemos en la televisión, hablo de las noticias, pero de cuales hablo, bueno si las noticias sobre &#8220;hackes&#8221; (termino que actualmente generaliza hechos, acciones, que están muy lejos del significado que tena hace unos cuantos años atrás). Como dice el titulo de este articulo, &#8220;EL PEOR ATAQUE DE UN HACK A LA INFORMÁTICA ES NO HACERLE NADA&#8221;, es una de mis grandes frases, bueno para mi lo es, no a todos les gusta la espinaca, a popeye si, verdad; y que quiero decir con esto, que un hackers sin hacer nada &#8220;malo&#8221; (un gran error decir que un hacker solo hace cosas malas, culpa del termino que generaliza demasiadas acciones, sin clasificarlas) logra un objetivo &#8220;oscuro&#8221; sobre la ciencia de la informática ??.  Generalmente se asocia un hacker al daño de seguridad virtual, haciendo provecho de los errores para lograr sus objetivos deseados; para esto trabajan muchas personas, miles de personas, empresas, que desarrollan programas de seguridad como los antivirus, dan soportes millonarios a empresas poderosas, de valor o amenazadas constantemente, y si aun no entiendes la frase, tranquilo aun no termino; si sos de las personas que piensan que no deben de existir las cosas &#8220;malas&#8221; que todo este bien, seguro, sea libre, perfecto, es algo genial pero por desgracias no vivís en un mundo donde se pueda dar, verdad; nunca debería habar más bien que mal ni mal que bien, uff marea; te lo explico mejor, si intentaran hacer un mundo libre de mal, a efecto desaparece su opuesto osea no existe el bien, son leyes que no diría que las entiendo bien pero se que se cumplen, hora estas imaginando un mundo donde todos están contentos y bien, y decís&#8221; pero como que desaparece el bien, eso no lo entendí&#8230;&#8221;, de tan fácil que es darse cuenta es difícil de verlo, primero quien juzga el bien ?, uff no sabes. bueno probemos al revez quien juzga el mal ? el bien, ahora la respuesta anterior es obvia es el mal quien juzga el bien, por eso no puede clasificar algo como tal, si no existe un opuesto, aun pensas que todos están ahí en ese mundo imaginario donde todos sin felices y sigue todo bien, sabes por que aun seguís pensando que aun existiría solo el bien y este no desaparece si el mal no existiera, por que sabes que existe el mal, ya con el hecho de saber que existe el mal, creas al bien, de forma inversa en lo mismo, a esto sumarle algo el ser humano nunca esta en equilibro siempre piensa de forma inversa a ideas, problemas, nunca todos pensamos igual, opinamos igual, de forma que un mundo donde todo sea bien es tan inestable para la humanidad que seria doblemente peor que si estuviera equilibrado de bien y mal. Es aquí donde comienzo rápidamente a explicar la frase, ya que tu mente (eso espero) este más abierta a la idea, ya mencione la cantidad de gente que trabaja para detener a los &#8220;hackes&#8221; y la cantidad de dinero que esto representa en el mercado, ahora imagínate una huelga de hackers ??, uff algo bueno, verdad; o no ?? bueno los hackers son malos verdad ??, si no ahí más mejor ??, o no ?? algo n0 te queda conforme, bueno debe ser que te pasa como a mi, si 1 hackes no trabaja, 100 empleados de seguridad informática no trabajan, no se compran programas de seguridad, no se contratan empresas de seguridad, no ahí mercado de seguridad, seria libre la informática del comercio, del lucro, pasaría a ser totalmente la seguridad la ciencia informática beneficiada, aunque se perderían miles de puestos de trabajos ??, esta parece ser cierta, verdad que si ?? o no ? uff, que rebuscado que soy, bueno la verdad que además de la perdida de trabajo de muchas personas ahi algo que se les olvida, la seguridad no evoluciona si no se necesita, esta claro que apareció el primer antivirus a la llegada del primer virus, los hackers son como para un desarrollador sus códigos de test, con los que prueban y si falla algo lo reparan sobre el código base, bueno si nos quedamos sin hackers, la evolución informática se tornaría lenta, aburrida, sin grandes sentidos y objetivos, aqui estoy tratando al hacker como el que tiene el látigo y nos pega para que sigamos mejorándonos, ahora otra pregunta o duda no se, y pensemos así, y para que quiero seguridad (bien) si no hay hackers (mal) ??, muy simple volver a leer el articulo donde hablo del bien y el mal, vivimos en un mundo donde aunque podemos decir ahi mucho mal y poco bien o inverso nunca desaparecen, &#8221; hoy dejamos de desarrollar seguridad por que no la necesitamos y a nadie le importa, no es rentable, es costosa y no se usa &#8220;, por el hecho de que nadie la prueba y como probar la seguridad sin un buen cerebro hacker, no hay forma o si las hay pero lentas como ya dije sin inspiración, al otro día después de 25 años sin un solo virus en la red, amanecen todo los bancos, empresas, sitios webs, todo los ordenadores del mundo, con un virus, robo de información del gobierno, ataques de todo tipo a servidores (&#8230;); en resumen diría que si logras entender algo de todo esto te felicito de verdad, yo nunca lo entendí del todo y aunque lo escribí, jaja deja tu comentario al respecto, y decirme que opinas sobre la frase, si te parece algo similar o algo totalmente distinto a lo que pienso que podría pasar con la informática; lo dejo por acá el articulo ya creo que eh dicho demasiado por hoy. (&#8230;)</h3>
<h3>Dertin</h3>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=154&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/30/el-peor-ataque-de-un-hack-a-la-informatica-es-no-hacerle-nada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>Introducción a m2eclipse</title>
		<link>http://dertin.wordpress.com/2008/12/29/introduccion-a-m2eclipse/</link>
		<comments>http://dertin.wordpress.com/2008/12/29/introduccion-a-m2eclipse/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 22:28:18 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Guías Programación]]></category>
		<category><![CDATA[aprendizaje]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[Guías]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=148</guid>
		<description><![CDATA[¿Qué es m2eclipse?

m2eclipse es un "plugin" Eclipse que está desde principios de 2006. El plugin fue creado a principios de 2006 por Eugene Kuleshov y fue desarrollado bajo el auspicio de la comunidad Codehaus durante dos años. En mayo de 2008, el proyecto m2eclipse fue formalmente aceptado en la Fundación Eclipse y el plugin continúa siendo desarrollado para integrar en m2eclipse más características de la plataforma Eclipse.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=148&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="page-content">
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/Introductiontom2eclipse.jpg" alt="Introductiontom2eclipse.jpg" /></div>
<div class="image-container floatleft"><img class="image" src="http://i.creativecommons.org/l/by-nc/3.0/es/88x31.png" alt="88x31.png" /></div>
<p>Esta obra está bajo una <a href="http://creativecommons.org/licenses/by-nc/3.0/es/">licencia de Creative Commons</a> por expreso deseo de los autores del <a href="http://www.theserverside.com/tt/articles/article.tss?l=Introductiontom2eclipse">trabajo original</a>.</p>
<p>Traducción realizada por <a href="http://jmbeas.blogspot.com/">José Manuel Beas</a> del <a href="http://www.theserverside.com/tt/articles/article.tss?l=Introductiontom2eclipse">original</a> publicado en TheServerSide.</p>
<div id="toc" class="floatright">
<div class="title">Table of Contents</div>
<div id="toc-list">
<div style="margin-left:2em;"><em>¿Qué es m2eclipse?</em></div>
<div style="margin-left:2em;"><em>Instalando el &#8220;plugin&#8221; m2eclipse</em></div>
<div style="margin-left:3em;"><em>Instalando los prerrequisitos</em></div>
<div style="margin-left:2em;"><em>Instalando el plugin m2eclipse</em></div>
<div style="margin-left:2em;"><em>Creando un Proyecto Maven</em></div>
<div style="margin-left:3em;"><em>Creando un Proyecto Maven a partir de un Arquetipo Maven</em></div>
<div style="margin-left:3em;"><em>Crear un fichero POM de Maven</em></div>
<div style="margin-left:2em;"><em>Importando proyectos Maven</em></div>
<div style="margin-left:3em;"><em>Importando un proyecto Maven</em></div>
<div style="margin-left:3em;"><em>Obteniendo un proyecto Maven desde el control de versiones</em></div>
<div style="margin-left:3em;"><em>Materializando un Proyecto Maven</em></div>
<div style="margin-left:2em;"><em>Trabajando con Proyectos Maven</em></div>
<div style="margin-left:3em;"><em>Ejecutando Construcciones Maven</em></div>
<div style="margin-left:3em;"><em>Añadiendo y Actualizando Dependencias y Plugins</em></div>
<div style="margin-left:3em;"><em>Creando un Módulo Maven</em></div>
<div style="margin-left:3em;"><em>Descargando Código</em></div>
<div style="margin-left:3em;"><em>Abriendo Páginas del Proyecto</em></div>
<div style="margin-left:3em;"><em>Resolviendo Dependencias</em></div>
<div style="margin-left:2em;"><em>Trabajando con Repositorios Maven</em></div>
<div style="margin-left:3em;"><em>Buscando Artefactos Maven y clases Java</em></div>
<div style="margin-left:3em;"><em>Indexando Repositorios Maven</em></div>
<div style="margin-left:2em;"><em>Preferencias Maven</em></div>
<div style="margin-left:2em;"><em>Resumen</em></div>
</div>
</div>
<p><span id="more-148"></span></p>
<p>Eclipse es el IDE para desarrollo Java más usado hoy día. Al mismo tiempo, Apache Maven continúa madurando y ha crecido hasta ser el estándar de la industria para crear &#8220;builds&#8221; extensibles y fiables a nivel empresarial. A pesar de que ciertamente es posible desarrollar aplicaciones en Eclipse y usar Maven desde la linea de comandos, la mayoría de los desarrolladores esperan que el IDE sepa cómo llamar e interactuar con la herramienta de construcción que están usando.</p>
<p>Entremos en m2eclipse. El proyecto <a href="http://m2eclipse.codehaus.org/">m2eclipse</a> proporciona soporte para Maven desde dentro de Eclipse. Éste es un &#8220;plugin&#8221; que ayuda a salvar las diferencias entre Maven y Eclipse. Usando m2eclipse podemos desarrollar a gran proyecto multimodular con módulos Maven anidados y tener esta estructura jerárquica reflejada en nuestro Eclipse. Usando m2eclipse, podemos lanzar y manejar la construcción de nuestros proyectos con Maven usando editores y nuestro IDE estará al tanto de los repositorios Maven (el local y los remotos) permitiéndonos buscar y localizar rápidamente cualquier artefacto disponible en el repositorio Maven. m2eclipse también cambiará la manera de crear los proyectos con una interfaz novedosa y fácil de usar para crear proyecto a partir de Arquetipos Maven.</p>
<p>En este artículo, exploraremos las caracteríticas que proporciona m2eclipse y ayudaremos a empezar a usar un plugin Eclipse que proporciona integración real con Maven para la mejor plataforma IDE disponible. Después de leer este artículo deberíais tener suficiente información para instalar el plugin m2eclipse y comenzar a crear o importar proyectos Maven en vuestro espacio de trabajo (&#8220;workspace&#8221;) Eclipse. También tendréis una idea acerca de las posibilidades que ofrece el plugin.</p>
<blockquote><p><strong>Nota:</strong> Este artículo (el original) es una versión mejorada del capítulo publicado como parte de <a href="http://www.sonatype.com/book">Maven: The Definitive Guide</a>, un libro &#8220;online&#8221; y gratuito de <a href="http://www.sonatype.com/">Sonatype</a> que ha publicado <a href="http://oreilly.com/catalog/9780596517335/">O&#8217;Reilly</a> en Septiembre de 2008. Para más noticias acerca de m2eclipse, por favor visitad <a href="http://m2eclipse.sonatype.org/">http://m2eclipse.sonatype.org</a>.</p></blockquote>
<h2><span>¿Qué es m2eclipse?</span></h2>
<p><a href="http://m2eclipse.sonatype.org/">m2eclipse</a> es un &#8220;plugin&#8221; Eclipse que está desde principios de 2006. El plugin fue creado a principios de 2006 por <a href="http://www.jroller.com/eu/">Eugene Kuleshov</a> y fue desarrollado bajo el auspicio de la comunidad Codehaus durante dos años. En mayo de 2008, el proyecto m2eclipse fue formalmente aceptado en la Fundación Eclipse y el plugin continúa siendo desarrollado para integrar en m2eclipse más características de la plataforma Eclipse.</p>
<p>El <a href="http://m2eclipse.codehaus.org/">&#8220;plugin&#8221; m2eclipse</a> proporciona integración con Maven para Eclipse. m2eclipse también tiene enganches (&#8220;hooks&#8221;) para las características de sendos &#8220;plugins&#8221; <a href="http://subclipse.tigris.org/">Subclipse</a> y <a href="http://www.eclipse.org/mylyn/">Mylyn</a>. El &#8220;plugin&#8221; Subclipse proporciona al &#8220;plugin&#8221; m2eclipse la posibilidad de interaccionar con repositorios de Subversion y el &#8220;plugin&#8221; Mylyn proporciona al &#8220;plugin&#8221; m2eclipse con la posibilidad de interactuar con una interfaz enfocada en la tarea (&#8220;task-focused UI&#8221;) que puede llevar la cuenta del contexto de desarrollo. Sólo unas pocas características proporcionadas por m2eclipse y que incluyen:</p>
<ul>
<li>Creación e importación de proyectos Maven</li>
<li>Gestión de las dependencias e integración con el &#8220;classpath&#8221; de Eclipse</li>
<li>Descarga y actualización automática de dependencias</li>
<li>Resolución de artefactos javadoc y de código fuente</li>
<li>Creación de proyectos con Arquetipos Maven</li>
<li>Navegación y búsqueda en repositorios Maven remotos</li>
<li>Gestión de POMs con actualización automática de la lista de dependencias</li>
<li>Materialización de un proyecto a partir de un POM Maven</li>
<li>Obtención (&#8220;check out&#8221;) de un proyecto Maven a partir de varios repositorios de control de versiones<sup class="footnoteref"><a id="footnoteref-1" class="footnoteref" href=";">1</a></sup> (SCM)</li>
<li>Adaptación de proyectos Maven anidados y multimodulares en Eclipse</li>
<li>Integración con el proyecto Web Tools (WTP)</li>
<li>Integración con las herramientas de desarrollo AspectJ (AJDT)</li>
<li>Integración con Subclipse, un &#8220;plugin&#8221; Subversion para Eclipse</li>
<li>Integración con Mylyn, un &#8220;plugin&#8221; que proporciona un contexto orientado a las tareas e integración con herramientas como JIRA y otros sistemas de gestión de defectos/tareas.</li>
</ul>
<p>El desarrollo del &#8220;plugin&#8221; está actualmente enfocado en proporcionar &#8220;soporte de primera clase&#8221; para la plataforma de Eclipse Web Tools y las herramientas Eclipse para AspectJ, así como añadir editores gráficos tanto para el POM como para el fichero settings.xml de Maven. Hay muchas más características en m2eclipse más allá de la lista anterior y este artículo estudiará algunas de las mismas que están actualmente disponibles. Empecemos por la instalación de m2eclipse en Eclipse.</p>
<h2><span>Instalando el &#8220;plugin&#8221; m2eclipse</span></h2>
<p>Para instalar el &#8220;plugin&#8221; m2eclipse es necesario instalar algunos prerrequisitos. Necesitaremos Eclipse 3.2 o superior, JDK 1.4 o superior y además nos tendremos que asegurar de que Eclipse se ejecuta sobre un JDK y no sobre un JRE. Este artículo asume que instalamos m2eclipse sobre Eclipse 3.3 (Europa) y que ya hemos descargado e instalado Eclipse. Si aún no lo habéis hecho, lo podéis descargar de <a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a>.</p>
<h3><span>Instalando los prerrequisitos</span></h3>
<p>Podemos instalar estos prerrequisitos cuando instalemos m2eclipse, simplemente añadamos a Eclipse un nuevo sitio remoto de actualización para cada componente prerrequerido. Para instalar estos prerrequisitos, id a &#8220;Help / Software Updates / Find and Install…&#8221;. Al seleccionar esta opción de menu se abrirá el diálogo &#8220;Install/Update&#8221;. Elegid la opción &#8220;Search for new features to install&#8221; y pulsad en &#8220;Next&#8221;. Obtendréis una lista de &#8220;Update sites to visit&#8221;. Pulsad en &#8220;New Remote Site&#8221;… y añadid un nuevo sitio para cada nuevo prerequisito. Añadid un nuevo sitio remoto para cada plugin y entonces aseguraos de que el sitio remoto está seleccionado. Después de pulsar &#8220;Finish&#8221;, Eclipse nos solicitará entonces que seleccionemos &#8220;plugins&#8221; para instalar. Seleccionad los componentes que queráis instalar y Eclipse descargará, instalará y configurará vuestros plugins.</p>
<p>Para instalar la integración de JIRA con Mylyn, añadid el URL de actualización de los extras de Mylyn. Querréis hacer testo si vuestra organización usa <a href="http://www.atlassian.com/software/jira/">JIRA</a> para el seguimiento de defectos. Si estáis instalando la versión 0.9.4 de m2eclipse quizás queráis instalar también los proyectos Web Tools Platform (WTP) y AspectJ Development Tools (AJDT).</p>
<ul>
<li>Subclipse 1.2: <a href="http://subclipse.tigris.org/update_1.2.x">http://subclipse.tigris.org/update_1.2.x</a></li>
<li>Mylyn (Eclipse 3.3): <a href="http://download.eclipse.org/tools/mylyn/update/e3.3">http://download.eclipse.org/tools/mylyn/update/e3.3</a></li>
<li>Mylyn Extras (JIRA Support): <a href="http://download.eclipse.org/tools/mylyn/update/extras">http://download.eclipse.org/tools/mylyn/update/extras</a></li>
<li>AspectJ Development Tools (Eclipse 3.3): <a href="http://download.eclipse.org/tools/ajdt/33/update">http://download.eclipse.org/tools/ajdt/33/update</a></li>
<li>Web Tools Platform: <a href="http://download.eclipse.org/webtools/updates/">http://download.eclipse.org/webtools/updates/</a></li>
</ul>
<p>Para más información:</p>
<ul>
<li>acerca del proyecto AJDT, ver <a href="http://www.eclipse.org/ajdt/">el sitio web del proyecto</a>.</li>
<li>acerca del plugin Subclipse, ver <a href="http://subclipse.tigris.org/">el sitio web del proyecto</a>.</li>
<li>acerca del proyecto Mylyn, ver <a href="http://www.eclipse.org/mylyn/">el sitio web del proyecto</a>.</li>
<li>acerca de la plataforma Web Tools, ver <a href="http://www.eclipse.org/webtools/">el sitio web del proyecto</a>.</li>
</ul>
<h2><span>Instalando el plugin m2eclipse</span></h2>
<p>Una vez que hayamos instalado los prerrequisitos, podemos instalar el plugin m2eclipse desde el siguiente URL de actualización:</p>
<ul>
<li>m2eclipse Plugin: <a href="http://m2eclipse.sonatype.org/update/">http://m2eclipse.sonatype.org/update/</a></li>
</ul>
<p>Si preferís instalar la última versión de desarrollo &#8220;snapshot&#8221; del plugin, deberíais usar el URL update-dev en vez del anterior URL:</p>
<ul>
<li>m2eclipse Plugin (Development Snapshot): <a href="http://m2eclipse.sonatype.org/update-dev/">http://m2eclipse.sonatype.org/update-dev/</a></li>
</ul>
<p>Para instalar m2eclipse, simplemente añadid el sitio de actualización apropiado para m2eclipse. Como para los prerrequisitos, id a &#8220;Help / Software Updates / Find and Install…&#8221;. Al seleccionar esta opción de menu se abrirá el diálogo &#8220;Install/Update&#8221;. Elegid la opción &#8220;Search for new features to install&#8221; y pulsad en &#8220;Next&#8221;. Obtendréis una lista de &#8220;Update sites to visit&#8221;. Pulsad en &#8220;New Remote Site&#8221;… y añadid un nuevo sitio para m2eclipse. Añadid un nuevo sitio remoto para m2eclipse y entonces aseguraos de que el sitio remoto está seleccionado. Después de pulsar &#8220;Finish&#8221;, Eclipse nos solicitará entonces que seleccionemos &#8220;plugins&#8221; para instalar. Seleccionad los componentes que queráis instalar y Eclipse descargará, instalará y configurará m2eclipse.</p>
<p>Si ya habéis instalado el plugin con éxito, deberíais ver una opción Maven en la lista de preferencias cuando vayáis a &#8220;Window / Preferences…&#8221;.<br />
Habilitando la Consola Maven</p>
<p>Después de instalar el plugin m2eclipse, una de las primeras cosas que querréis hacer es habilitar la Consola Maven. Cuando imporáis un proyecto Maven o creáis un nuevo proyecto Maven, querréis ver la consola Maven para ver lo que está haciendo el plugin m2eclipse. Para habilitar la Consola Maven, abrid la vista de consola (Console View) yendo a &#8220;Window / Show View / Console&#8221;. Entonces pulsad en la pequeña flecha a la derecha del icono &#8220;Open Console&#8221; y seleccionad &#8220;Maven Console&#8221; como se muestra más abajo:</p>
<p style="text-align:center;"><em><strong>Figura 1. Habilitando la Consola Maven en Eclipse</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_console.gif" alt="eclipse_console.gif" width="691" height="227" /></div>
<p>La Consola Maven muestra la salida de Maven que normalmente aparece en la consola cuando ejecutamos Maven desde la linea de comandos. Es útil poder ver lo que Maven está hacinedo y trabajar con la salida de depuración para diagnosticar problemas.</p>
<h2><span>Creando un Proyecto Maven</span></h2>
<p>Cuando se usa Maven, la creación de proyectos se hace usando un Arquetipo Maven. En Eclipse, la creación de proyectos sea hace mediante el asistente de nuevo proyecto. El plugin m2eclipse mejora este asistente para proporcionar las siguientes funcionalidades adicionales:</p>
<ul>
<li>Crear un proyecto Maven usando un Arquetipo Maven</li>
<li>Crear un fichero POM de Maven en un proyecto ya existente</li>
</ul>
<p>Como se muestra en la Figura 2, &#8220;Creando un Nuevo Proyecto con los asistentes de m2eclipse&#8221;, hay cuatro opciones disponibles, pero este artículo se centra sólo en dos: proyecto Maven (&#8220;Maven Project&#8221;) y fichero POM (&#8220;Maven POM file&#8221;). Cuando estéis tratando de configurar un entorno de desarrollo en una organización con un código base ya existente, probablemente querréis obtener proyectos Maven desde un sistema de control de versiones como Subversion, pero este proceso lo cubriremos en más detalle más adelante. Si os estás mudando a Maven, querréis ser capaces de añadir nuevos ficheros pom.xml a un proyecto existente, y si estáis empezando a escribir un nuevo sistema, necesitaréis ser capaces de crear un nuevo proyecto. El plugin m2eclipse introduce el concepto de Arquetipo Maven en la plataforma Eclipse, y como m2eclipse tiene acceso a un índice del Repositorio Central de Maven, tenéis acceso a una extensa colección de arquetipos Maven. Echemos un vistazo rápido a dos de estas opciones de creación de proyectos:</p>
<p style="text-align:center;"><em><strong>Figura 2. Creando un Nuevo Proyecto con los asistentes de m2eclipse</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_create-wizard.gif" alt="eclipse_create-wizard.gif" /></div>
<h3><span>Creando un Proyecto Maven a partir de un Arquetipo Maven</span></h3>
<p>Esta es probablemente la nueva funcionalidad más interesante introducida por el plugin m2eclipse. Sin m2eclipse, crear un nuevo proyecto Maven a partir de un arquetipo implica escribir una larga linea de comando en la que se especifica el artifactId y el groupId tanto del arquetipo como del proyecto que estás tratando de crear. Con m2eclipse, usar un arquetipo maven es tan fácil como rellenar un simple diálogo &#8220;New Maven Project&#8221; y seleccionar un arquetipo de la lista de todos los arquetipos maven en el Repositorio Central de Maven. Si alguien ha publicado un arquetipo maven en el repositorio de Maven, m2eclipse podrá localizar este arquetipo consultando el índice del repositorio. Inmediatamente, m2eclipse proporciona acceso a más de 80 arquetipos maven para proyectos que van desde Mule a AppFuse.</p>
<p>Para crear un proyecto Maven usando un arquetipo maven, elegid &#8220;File / New / Project…&#8221;, y entonces escribid &#8220;maven&#8221; en el campo de filtrado. Seleccionad &#8220;New Maven Project&#8221; y pulsad &#8220;Next&#8221;. En la primera pantalla del asistente de nuevo proyecto Maven podéis seleccionar &#8220;Create a simple project&#8221; lo cuál tendrá el efecto de saltar la elección de arquetipo. Esta primera pantalla también nos permite cambiar el directorio en el que se creará el nuevo proyecto. Por defecto, el nuevo proyecto se creará en vuestro espacio de trabajo (workspace) Eclipse. La segunda pantalla proporciona una interfaz para seleccionar un arquetipo maven para vuestro nuevo proyecto. Hay muchos arquetipos Maven disponibles en la lista que viene con m2eclipse, como se muestra en la Figura 3 &#8220;Creando un Nuevo Proyecto con un Arquetipo Maven&#8221;.</p>
<p style="text-align:center;"><em><strong>Figura 3. Creando un Nuevo Proyecto con un Arquetipo Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_new-maven.gif" alt="eclipse_new-maven.gif" /></div>
<p>La lista de arquetipos en la Figura 3, &#8220;Creando un Nuevo Proyecto con un Arquetipo Maven&#8221;, es una lista generada por algo llamado el Indexador Nexus. Nexus es un gestor de repositorios Maven construido por Sonatype que está disponible para su descarga en <a href="http://nexus.sonatype.org/">http://nexus.sonatype.org</a>. Nexus mantiene un índice de todos los artefactos y metadatos en el Repositorio Central de Maven, lo que permite a herramientas como Nexus o m2eclipse buscar rápidamente en los contenidos de un repositorio maven. Cuando se escribió este artículo, m2eclipse tenía aproximadamente noventa arquetipos en esta pantalla de diálogo. Además del conjunto estándar de arquetipos maven, en esta lista de arquetipos se pueden destacar los siguientes:</p>
<ul>
<li><a href="http://cocoon.apache.org/">Apache Cocoon</a> : Arquetipos bajo org.apache.cocoon</li>
<li><a href="http://directory.apache.org/">Apache Directory Server</a> : Arquetipos bajo org.apache.directory.server</li>
<li><a href="http://geronimo.apache.org/">Apache Geronimo</a> : Arquetipos bajo org.apache.geronimo.buildsupport</li>
<li><a href="http://myfaces.apache.org/">Apache MyFaces</a> : Arquetipos bajo org.apache.myfaces.buildtools</li>
<li><a href="http://tapestry.apache.org/">Apache Tapestry</a> : Arquetipos bajo org.apache.tapestry</li>
<li><a href="http://wicket.apache.org/">Apache Wicket</a> : Arquetipos bajo org.apache.wicket</li>
<li><a href="http://appfuse.org/display/APF/Home">AppFuse</a> : Arquetipos bajo org.appfuse.archetypes</li>
<li><a href="http://cargo.codehaus.org/">Codehaus Cargo</a> : Arquetipos bajo org.codehaus.cargo</li>
<li><a href="http://mule.mulesource.org/display/MULE/Home">Mule</a> : Arquetipos bajo org.mule.tools</li>
<li><a href="http://www.springframework.org/">Springframework</a> : Arquetipos para OSGi y Web Services bajo org.springframework</li>
<li><a href="http://www.trailsframework.org/">Trails Framework</a> : Arquetipos bajo org.trailsframework</li>
</ul>
<p>Y estos eran sólo los arquetipos que estaban listados en el Catálogo del Indexador Nexus, si cambias de Catálogos podréis ver otros arquetipos. Un catálogo es simplemente una referencia a un índice de repositorio. Podéis gestionar el conjunto de catálogos que conoce el plugin m2eclipse pulsando en el botón &#8220;Configure…&#8221; junto al desplegable de los catálogos. Si tenéis vuestros propios arquetipos para añadirlos a esta lista, podéis pulsar en &#8220;Add Archetype…&#8221;</p>
<p>Una vez que habéis elegido un arquetipo, Maven obtendrá el artefacto apropiado desde el repositorio Maven y presentará el diálogo que se muestra en la Figura 4, &#8220;Seleccionando Coordenadas Maven para un Nuevo Proyecto Maven&#8221;. Esta última pantalla del asistente &#8220;Nuevo Proyecto Maven&#8221; es donde configuraréis las coordenadas Maven para vuestros proyectos: el artifactId, el groupId y la version. Este diálogo también os proporciona un campo para personalizar el paquete por defecto para cada nuevo proyecto, y la capacidad para especificar propiedades que deberán estar presentes en el nuevo pom.xml del proyecto.</p>
<p style="text-align:center;"><em><strong>Figura 4. Seleccionando Coordenadas Maven para un Nuevo Proyecto Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_new-maven-project.gif" alt="eclipse_new-maven-project.gif" /></div>
<p>Una vez que hemos seleccionado un arquetipo y proporcionado un conjunto de coordenadas únicas, pulsad &#8220;Finish&#8221;. m2eclipse creará entonces el nuevo proyecto en vuestro espacio de trabajo Eclipse.</p>
<h3><span>Crear un fichero POM de Maven</span></h3>
<p>Si ya tenéis un proyecto Eclipse que no está usando Maven, podéis empezar a usar Maven en el mismo creando un nuevo fichero POM Maven para él. m2eclipse proporciona un asistente para crear fácilmente un nuevo fichero POM dentro de un proyecto ya existente. Para lanzar este asistente, seleccionad &#8220;File / New / Other…&#8221;, escribid &#8220;maven&#8221; en el campo de filtrado y seleccionado &#8220;Maven POM File&#8221;. Este asistente de creación de POMs se muestra en la Figura 5, &#8220;Creando un nuevo POM&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 5. Creando un nuevo POM</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_create-pom.gif" alt="eclipse_create-pom.gif" /></div>
<p>Crear un nuevo POM es simplemente una cuestión de seleccionar un proyecto, introducir el groupId, artifactId, version, elegir el &#8220;packaging type&#8221; y proporcionar un &#8220;name&#8221; en los campos dispuestos. Pulsad el botón &#8220;Next&#8221; para comenzar a añadir dependencias. m2eclipse os dará entonces la oportunidad de buscar dependencias en una figura que recuerda a la Figura 17, &#8220;Buscando una dependencia&#8221;. Debido a que m2eclipse mantiene un índice del Repositorio Central de Maven, podéis buscar fácilmente dependencias por nombre, artifactId, groupId o incluso localizar artefactos que contienen una clase en particular. Para más información acerca de añadir y buscar dependencias, ver Sección 6.2, &#8220;Añadiendo y actualizando dependencias y plugins&#8221;.<sup class="footnoteref"><a id="footnoteref-3" class="footnoteref" href=";">3</a></sup></p>
<h2><span>Importando proyectos Maven</span></h2>
<p>Si estáis tratando de trabajar con un código ya existente, entonces necesitaréis importar un proyecto Maven usando m2eclipse. m2eclipse proporciona 3 opciones para importa un proyecto Maven en Eclipse incluyendo:</p>
<dl>
<dt><strong>Importar Proyectos Maven</strong></dt>
</dl>
<blockquote><p>Cuando tengáis un proyecto Maven en vuestro equipo y necesitéis importar uno o más módulos desde este proyecto a Eclipse, podéis decirle a m2eclipse dónde buscar el proyecto y él recorrerá el árbol de directorios en busca de ficheros pom.xml.</p></blockquote>
<dl>
<dt><strong>Obtener Proyectos Maven desde un SCM</strong></dt>
</dl>
<blockquote><p>m2eclipse obtendrá un proyecto desde el control de versiones y entonces recorrerá el directorio obtenido en busca de ficheros pom.xml.</p></blockquote>
<dl>
<dt><strong>Materializar proyectos Maven</strong></dt>
</dl>
<blockquote><p>Dado nada más que el POM de un proyecto, m2eclipse puede usar los metadatos del proyecto para localizar el repositorio de control de versiones. Entonces puede obtener el proyecto desde ese repositorio SCM listado en el POM.</p></blockquote>
<p>La figura 6, &#8220;Importando un proyecto Maven&#8221; muestra las opciones disponibles para importar proyectos Maven:</p>
<p style="text-align:center;"><em><strong>Figura 6. Importando un proyecto Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import.gif" alt="eclipse_import.gif" /></div>
<p>El diálogo de la Figura 6, &#8220;Importando un proyecto Maven&#8221; se muestra usando el comando &#8220;File / Import&#8221; en Eclipse y entonces escribiendo la palabra &#8220;maven&#8221; en el campo de filtrado. Echemos un vistazo a la operación de importación más sencilla, importar un conjunto de proyectos Maven ya existente desde un directorio.</p>
<h3><span>Importando un proyecto Maven</span></h3>
<p>m2eclipse puede importar un proyecto Maven con un pom.xml ya existente. Apuntad m2eclipse al directorio conteniendo un pom.xml y m2eclipse detectará todos los POMs en el proyecto y proporcionará una lista jerárquica de módulos tal y como se muestra en la Figura 7, &#8220;Importando un Proyecto Maven Multi-módulos&#8221;.</p>
<p style="text-align:center;"><em><strong>Figura 7. Importando un Proyecto Maven Multi-módulos</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import-project.gif" alt="eclipse_import-project.gif" /></div>
<p>La figura 7, &#8220;Importando un Proyecto Maven Multi-módulos&#8221; muestra la vista de un proyecto a importar. Observad que todos los POMs del proyecto se listan jerárquicamente reflejando las relaciones módulo-submódulo del proyecto multi-módulo. Éste es una importante mejora en la manera en la que tenemos que trabajar con los proyectos Maven antes de m2eclipse. Antes de m2eclipse, Eclipse no tenía conocimiento de la naturaleza jerárquica de un proyecto Maven multi-módulo y, cuando usábamos Eclipse para trabajar con módulos anidados, sólamente nos quedaba aceptar el hecho de que Eclipse no iba a ser capaz de entender estas relaciones.</p>
<p>Una vez importados estos proyectos, Eclipse va a listar cada módulo como un proyecto en nuestro espacio de trabajo. Si importamos los proyectos como se muestra en la Figura 7, &#8220;Importando un Proyecto Maven Multi-módulos&#8221; debería haber un proyecto para cada artifactId. El proyecto de más alto nivel &#8220;servicemix&#8221; estaría junto a un proyecto de los otros proyecto multi-módulos como &#8220;build&#8221;, &#8220;parent&#8221; y &#8220;core&#8221;. Todos estos proyectos estarían junto a los proyectos hijo que contienen el código fuente como &#8220;servicemix-jbi&#8221; y &#8220;servicemix-core&#8221;. Ya que m2eclipse permite a Eclipse modelar las relaciones entre módulos en un proyecto Maven multi-módulos, Eclipse aún mostrará cada nodo en el árbol en una única lista de proyectos.</p>
<h3><span>Obteniendo un proyecto Maven desde el control de versiones</span></h3>
<p>m2eclipse proporciona la capacidad de obtener un proyecto (o un árbol de proyectos) directamente desde un repositorio de control de versiones. Probablemente necesitemos hacer esto si estamos obteniendo el código fuente de un proyecto que ya existe o si necesitamos importar algunos proyectos Maven de un proyecto de código abierto (&#8220;open source&#8221;). m2eclipse obtendrá las fuentes del control de versiones y recorrerá un árbol de directorios en busca de ficheros pom.xml. m2eclipse nos permitirá entonces importar un proyeto para cada módulo Maven que encuentre. Para obtener un proyecto Maven desde un sistema de control de versiones (SCM), id a &#8220;File / New / Other…&#8221; y aparecerá el diálogo &#8220;New&#8221;. Escribid &#8220;maven&#8221; en el campo de filtrado, y seleccionad &#8220;checkout Maven Projects from SCM&#8221;. En el diálogo &#8220;Checkout as Maven Project from SCM&#8221;, introducid la información del SCM para un proyecto y éste lo obtendrá para nosotros en el lugar que le hayamos indicado como se muestra en la Figura 8, &#8220;Obtención de un Nuevo Proyecto desde Subversion&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 8. Obtención de un Nuevo Proyecto desde Subversion</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_checking-out.gif" alt="eclipse_checking-out.gif" /></div>
<p>Hay más opciones en este diálogo para especificar una revisión en particular recorriendo las revisiones en un repositorio Subversion o simplemente introduciendo manualmente el número de revisión. Si quisiéramos obtener una revisión en particular de un repositorio Subversion, pulsaríamos en el botón &#8220;Select…&#8221; junto al campo &#8220;Revision&#8221;. Cuando pulsamos en &#8220;Select…&#8221;, el plugin m2eclipse va a interaccionar con el plugin Subclipse e preguntar al repositorio por la Historia del Recurso (&#8220;Resource History&#8221;).</p>
<p>También podemos controlar qué proyectos va a importar el plugin m2eclipse desde el directorio obtenido (desde Subversion). Por defecto, m2eclipse va a importar todos los proyectos debajo del directorio que descarga desde el control de versiones. Si descargamos un árbol de directorios muy grande que contiene varios módulos Maven anidados, m2eclipse va a recorrer estos directorios y listar cada uno de estos proyectos en un diálogo que presentará a continuación. Si no está seleccionado &#8220;Check out All projects&#8221; (Obtener todos los proyectos), m2eclipse sólo importará el proyecto Maven de más alto nivel.</p>
<p>Si está marcado &#8220;Use default Workspace location&#8221; (Usar la situación del espacio de trabajo por defecto), m2eclipse dejará los proyectos en el espacio de trabajo por defecto. Si preferimos guardar el código fuente de nuestro proyecto fuera del espacio de trabajo de Eclipse, desmarcad esta opción y proporcionar una dirección para el proyecto que Eclipse acaba de obtener.</p>
<p>m2eclipse admite un amplio abanico de repositorios de control de versiones. Además de Subversion, el plugin m2eclipse también admite los siguientes proveedores de SCM:</p>
<ul>
<li>Bazaar</li>
<li>Clearcase</li>
<li>CVS</li>
<li>git</li>
<li>Mercurial (hg)</li>
<li>Perforce</li>
<li>Starteam</li>
<li>Subversion</li>
<li>Synergy</li>
<li>Visual SourceSafe</li>
</ul>
<h3><span>Materializando un Proyecto Maven</span></h3>
<p>m2eclipse también ofrece la posibilidad de &#8220;materializar&#8221; un proyecto Maven, y ésta es una funcionalidad que se basa en los metadatos almacenados en el POM de un proyecto. La materialización es similar al proceso de obtener (&#8220;check out&#8221;) un proyecto Maven desde Subversion, pero en vez de introducir manualmente el URL del repositorio de Subversion, el URL de Subversion se descubre a partir del fichero POM raiz del proyecto. Podemos usar esta funcionalidad para &#8220;materializar&#8221; proyectos desde nada más que un fichero POM si el fichero POM tiene los elementos apropiados para especificar la localización de un repositorio de origen. Recorre el repositorio central de Maven en busca de proyectos y los materializa en forma de proyectos Eclipse. Esto resulta útil si nuestro proyecto depende de terceras librerías de código abierto y necesitamos meter mano al código fuente. En vez de localizar el sitio web del proyecto y averiguar cómo obtenerlo de Subversion, simplemente usamos m2eclipse para mágicamente &#8220;materializar&#8221; el proyecto Eclipse correspondiente.</p>
<p>La figura 9, &#8220;Materializando un Proyecto Maven&#8221; muestra el asistente después de elegir materializar varios proyectos Maven:</p>
<p style="text-align:center;"><em><strong>Figura 9. Materializando un Proyecto Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import2.gif" alt="eclipse_import2.gif" /></div>
<p>Observad que la caja de diálogo para los artefactos Maven de la Figura 9, &#8220;Materializando un Proyecto Maven&#8221; está vacía. Esto es porque aún no se ha añadido ningún proyecto. Para añadir un proyecto debemos pulsar en el botón &#8220;Add&#8221; a la derecha y seleccionar una dependencia para ser añadida desde el repositorio central de Maven. La figura 10 &#8220;Seleccionando el Artefacto a Materializar&#8221; muestra cómo añadir un proyecto:</p>
<p style="text-align:center;"><em><strong>Figura 10. Seleccionando el Artefacto a Materializar</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-depend.gif" alt="eclipse_add-depend.gif" /></div>
<p>Al introducir una consulta, los artefactos candidato se localizarán en el repositorio local de Maven. Seleccionad el artefacto que queréis materializar y pulsad &#8220;OK&#8221; para añadirlo a la lista como se muestra en la Figura 11 &#8220;Materializando Apache Camel&#8221;.</p>
<p style="text-align:center;"><em><strong>Figura 11. Materializando Apache Camel</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import-camel.gif" alt="eclipse_import-camel.gif" /></div>
<p>Al añadir una dependencia, tenemos la opción de decirla al plugin m2eclipse que obtenga todos los proyectos para el artefacto. Si está seleccionado &#8220;Check out All projects&#8221; (Obtener todos los proyectos), Maven materializará el proyecto de más alto nivel y todos los módulos que éste contiene. Si está seleccionado &#8220;Use developer connection&#8221; (Usar conexión de desarrollador), Maven usará la información del repositorio de control de versiones de desarrollador. Usaríamos la conexión de desarrollador cuando hayamos confirmado (&#8220;commit&#8221;) cambios al repositorio de control de versiones del proyecto. Cuando usamos la conexión de desarrollador normalmente necesitamos proporcionar credenciales para el repositorio de código.</p>
<p>Una vez seleccionados los artefactos a materializar, Maven recuperará el proyecto desde el repositorio de control de versiones y creará un nuevo proyecto Eclipse para cada uno de los proyectos importados. La materialización de proyectos sólo funciona si los proyectos que queremos materializar han rellenado la información de SCM en el POM del artefacto.</p>
<h2><span>Trabajando con Proyectos Maven</span></h2>
<p>El plugin m2eclipse proporciona también un conjunto de funcionalidades para trabajar cno proyectos Maven una vez que están en Eclipse. Cuando pulsamos botón derecho en un proyecto y seleccionamos la opción de menú &#8220;Maven&#8221;, podemos ver las funcionalidades Maven disponibles. La figura 12 &#8220;Funcionalidades Maven disponibles&#8221; muestra un pantallazo de esto:</p>
<p style="text-align:center;"><em><strong>Figura 12. Funcionalidades Maven disponibles</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_available-features.gif" alt="eclipse_available-features.gif" /></div>
<p>En la figura 12 &#8220;Funcionalidades Maven disponibles&#8221;, dichas funcionalidades incluyen:</p>
<ul>
<li>Añadir dependencias y plugins</li>
<li>Actualizar dependencias, &#8220;snapshots&#8221; y carpetas de código fuente</li>
<li>Crear un módulo Maven</li>
<li>Descargar el código fuente</li>
<li>Abrir URLs de proyectos como la página web del proyecto, el sistema de seguimiento de incidencias, el control de versiones y la herramienta de integración continua.</li>
<li>Habilitar / Deshabilitar la resolución en el espacio de trabajo, módulos Maven anidados y gestión de dependencias.</li>
</ul>
<p>Estas funcionalidades son también grandes ahorradores de tiempo de modo que vamos a revisarlos brevemente.</p>
<h3><span>Ejecutando Construcciones Maven</span></h3>
<p>m2eclipse modifica los menús &#8220;Run As…&#8221; y &#8220;Debug As…&#8221; para permitirnos ejecutar una construcción Maven dentro de Eclipse. La figura 13 &#8220;Ejecutando una construcción Eclipse con Run As…&#8221; muestra el menú &#8220;Run As…&#8221; para un proyecto m2eclipse. Desde este menú podemos ejecutar algunas de las fases del ciclo de vida más comunes como limpiar (&#8220;clean&#8221;), instalar (&#8220;install&#8221;) o empaquetar (&#8220;package&#8221;). También podemos obtener la ventana de diálogo para la configuración de ejecuciones y configurar una construcción Maven con parámetros y más opciones.</p>
<p style="text-align:center;"><em><strong>Figura 13. Ejecutando una construcción Eclipse con Run As…</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_run-menu.gif" alt="eclipse_run-menu.gif" /></div>
<p>Si necesitamos configurar una construcción Maven con más opciones, podemos elegir &#8220;Run Configurations…&#8221; y crear una nueva construcción Maven. La figura 14 &#8220;Configurando una construcción Maven como una Configuración de Ejecución&#8221; muestra el diálogo &#8220;Run&#8221; para configurar una construcción Maven.</p>
<p style="text-align:center;"><em><strong>Figura 14. Configurando una construcción Maven como una Configuración de Ejecución</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_run-config.gif" alt="eclipse_run-config.gif" /></div>
<p>El diálogo de configuración &#8220;Run&#8221; permite que especifiquemos varios objetivos (&#8220;goals&#8221;) y perfiles (&#8220;profiles&#8221;), expone opciones como &#8220;saltar las pruebas&#8221; (&#8220;skip tests&#8221;) y &#8220;actualizar snapshots&#8221; (&#8220;update snapshots&#8221;) y permite personalizar todo desde el proyecto hasta el JRE e incluso las variables de entorno. Podemos usar este diálogo para admitir cualquier construcción Maven personalizada que queramos lanzar con m2eclipse.</p>
<h3><span>Añadiendo y Actualizando Dependencias y Plugins</span></h3>
<p>m2eclipse ofrece dos opciones para añadir dependencias a un proyecto. La primera opción consiste en editar manualmente el fichero POM para escribir en el XML y añadir la dependencia. El inconveniente de editar manualmente el fichero POM para añadir una dependencia es que ya debes conocer la información acerca del artefacto o usar las funcionalidades discutidas en la sección siguiente para localizar manualmente la información del artefacto en los índices del repositorio. La ventaja es que tras añadir manualmente la dependencia y guardar el POM, el contenedor de las dependencias del proyecto Maven se actualizará automáticamente para incluir la nueva dependencia. La figura 15 &#8220;Añadiendo manualmente una Dependencia al POM del Proyecto&#8221; muestra cómo añadir una dependencia para &#8220;commons-lang&#8221; al POM. Una vez que guardamos el POM, el contenedor de Dependencias Maven se actualiza automáticamente para incluirla:</p>
<p style="text-align:center;"><em><strong>Figura 15. Añadiendo manualmente una Dependencia al POM del Proyecto</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-manual-depend.gif" alt="eclipse_add-manual-depend.gif" /></div>
<p>Añadir manualmente una dependencia funciona bien pero requiere más trabajo que la segunda propuesta. Al añadir manualmente en el POM el elemento &#8220;dependeny&#8221; (dependencia), la barra de progreso en la esquina inferior derecha de Eclipse refleja la acción como se muestra en la figura 16 &#8220;Actualizando las Dependencias Maven&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 16. Actualizando las Dependencias Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_updating-depends.gif" alt="eclipse_updating-depends.gif" /></div>
<p>La segunda opción para añadir una dependencia es mucho más fácil porque no tenemos que conocer ninguna información acerca del artefacto más que el groupId. La figura 17 &#8220;Buscando una Dependencia&#8221; muestra esta funcionalidad:</p>
<p style="text-align:center;"><em><strong>Figura 17. Buscando una Depndencia</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-depend3.gif" alt="eclipse_add-depend3.gif" /></div>
<p>Simplemente introduciendo un groupId en el campo de búsqueda, m2eclipse consulta los índices del repositorio e incluso muestra la versión del artefacto que actualmente esté en nuestro repositorio local de Maven. Esta opción es preferible porque se ahorra muchísimo tiempo. Con m2eclipse no necesitamos ir de caza por el repositorio central de Maven en busca de la versión de un artefacto.</p>
<h3><span>Creando un Módulo Maven</span></h3>
<p>m2eclipse hace muy fácil crear una serie de proyectos anidados en un proyecto Maven multi-módulo. Si tenemos un proyecto padre y queremos añadir un módulo a un proyecto, simplemente pulsad el botón derecho en el proyecto, id al menú &#8220;Maven&#8221; y elegid &#8220;New Maven Module Project&#8221; (Nuevo proyecto módulo Maven). m2eclipse nos acompañará a través del proceso de creación del proyecto para crear un nuevo proyecto, entonces actualizará el POM del proyecto padre para incluir la referencia al módulo. Antes de que m2eclipse apareciera era muy difícil usar una jerarquía de proyectos Maven dentro de Eclipse. Con m2eclipse, los detalles de las relaciones subyacentes entre proyectos padres e hijos están integradas en el entorno de desarrollo.</p>
<h3><span>Descargando Código</span></h3>
<p>Si el repositorio central de MAven contiene un artefacto de código fuente para un proyecto en particular podemos descargar las fuentes desde el repositorio y exponerlas en el entorno de Eclipse. Cuando estamos intentando depurar una incidencia compleja, nada puede ser más fácil que poder pulsar el botón derecho en una dependencia de terceros y enchufar el código en el depurador de Eclipse. Seleccionad esta opción y m2eclipse intentará descargar el artefacto de código fuente desde el repositorio Maven. Si fuera incapaz de recuperar este artefacto fuente, deberíamos pedir a los mantenedores del proyecto en cuestión que subieran el paquete Maven de fuentes apropiado al repositorio central de Maven.</p>
<h3><span>Abriendo Páginas del Proyecto</span></h3>
<p>Un POM Maven contiene algunos valiosos URLs que un desarrollador puede necesitar consultar. Estos son la página web del proyecto, el URL para el repositorio de control de versiones, un URL para un sistema de integración continua como Hudson, y un URL para el seguimiento de incidencias. Si estos URLs están presentes en el POM del proyecto, m2eclipse abrirá estas páginas del proyecto en un navegador.</p>
<h3><span>Resolviendo Dependencias</span></h3>
<p>Podemos configurar un proyecto para resolver dependencias desde el espacio de trabajo (&#8220;workspace&#8221;). Esto tiene el efecto de alterar la manera en que Maven localiza los artefactos dependientes. Si el proyecto está configurado para resolver las dependencias desde el espacio de trabajo, estos artefactos no necesitan estar presentes en nuestro repositorio local. Asumid que el proyecto-a y el proyecto-b están ambos en el mismo espacio de trabajo de Eclipse, y que el proyecto-a depende del proyecto-b. Si la resolución en el espacio de trabajo (&#8220;workspace resolution&#8221;) está deshabilitada, la construcción Maven que hará m2eclipse para el proyecto-a sólo tendrá éxito si el artefacto del proyecto-b está presente en el repositorio local. Si la resolución en el espacio de trabajo está habilitada, m2eclipse resolverá la dependencia a través del espacio de trabajo de Eclipse. En otras palabras, cuando la resolución en el espacio de trabajo está habilitada, los proyectos no tienen que estar instalados en el repositorio local para relacionarse unos con otros.</p>
<p>También podemos deshabilitar la gestión de dependencias (&#8220;dependency management&#8221;). Esto tiene el efecto de decir a m2eclipse que pare de intentar gestionar el classpath de nuestro proyecto y eliminará el contenedor de Dependencias Maven<sup class="footnoteref"><a id="footnoteref-11" class="footnoteref" href=";">11</a></sup> de nuestro proyecto. Si hacemos esto, estaremos desasistidos cuando se trate de manejar el classpath de nuestro proyecto.</p>
<h2><span>Trabajando con Repositorios Maven</span></h2>
<p>m2eclipse también proporciona algunas herramientas para hacer el trabajo con los repositorios Maven algo más fácil. Estas herramientas proporcionan funcionalidades para:</p>
<ul>
<li>Buscar Artefactos</li>
<li>Buscar clases Java</li>
<li>Indexar repositorios Maven</li>
</ul>
<h3><span>Buscando Artefactos Maven y clases Java</span></h3>
<p>m2eclipse añade un par de elementos en el menú de Navegación de Eclipse que hacen la búsqueda de Artefactos Maven y clases Java un trabajo fácil. Cada opción está disponible pulsando en el menú de Navegación como se muestra en la Figura 18 &#8220;Buscando Artefactos y Clases&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 18. Buscando Artefactos y Clases</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_navigate.gif" alt="eclipse_navigate.gif" /></div>
<p>Observad las opciones disponibles en la Figura 18 &#8220;Buscando Artefactos y Clases&#8221; bajo el menú de Navegación Eclipse denominadas &#8220;Open Maven POM&#8221; (Abrir POM Maven) y &#8220;Open Type from Maven&#8221; (Abrir Clase<sup> </sup>desde Maven). La opción de Abrir un POM Maven nos permite buscar un POM dado en el repositorio Maven tal y como se muestra en la Figura 19 &#8220;Buscando un POM&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 19. Buscando un POM</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_search-pom.gif" alt="eclipse_search-pom.gif" /></div>
<p>Al seleccionar un artefacto y pulsar OK, el POM de este artefacto se abre en Eclipse para recorrerlo o editarlo. Esto es útil cuando necesitamos echar un vistazo rápido al POM de un artefacto dado.</p>
<p>La segunda opción m2eclipse en el menú de Navegación se llama Abrir Clase desde Maven. Esta opción nos permite buscar una clase Java por el nombre en un repositorio remoto. Al abrir este diálogo, simplemente escribid &#8220;factorybean&#8221; y veréis muchas clases con el nombre FactoryBean en ellas tal y como se muestra en la Figura 20 &#8220;Buscando una Clase en el Repositorio&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 20. Buscando una Clase en el Repositorio</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_search-class.gif" alt="eclipse_search-class.gif" /></div>
<p>Esto es un gran ahorro de tiempo porque significa que la búsqueda manual de una clase en particular a través de artefactos en un repositorio Maven es una cosa del pasado. Si necesitamos usar una clase específica, simplemente lanzad Eclipse, id al menú de Navegación y buscad por la clase. m2eclipse nos mostrará la lista de artefactos en los que ésta aparece.</p>
<h3><span>Indexando Repositorios Maven</span></h3>
<p>La vista de Índices Maven nos permite navegar manualmente hacia POMs en un repositorio remoto y abrirlos en Eclipse. Para obtener esta Vista, id a &#8220;View / Show View / Other&#8221;, escribid la palabra &#8220;maven&#8221; en la caja de búsqueda y deberíais ver una vista llamada &#8220;Maven Indexes&#8221; (Índices Maven) tal y como se muestra en la Figura 21 &#8220;Mostrar la Vista de Índices Maven&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 21. Mostrar la Vista de Índices Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_show-view.gif" alt="eclipse_show-view.gif" /></div>
<p>Seleccionad esta Vista y pulsad OK. Esto mostrará la &#8220;Maven Indexes View&#8221; (Vista de Índices Maven) como se muestra en la Figura 22 &#8220;Vista de Índices Maven&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 22. Vista de Índices Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_indexes.gif" alt="eclipse_indexes.gif" /></div>
<p>Además, la Figura 23 &#8220;Localizando un POM en la Vista de Índices&#8221; muestra la Vista de Índices MAven después de navegar manualmente para localizar un POM:</p>
<p style="text-align:center;"><em><strong>Figura 23. Locazando un POM en la Vista de Índices</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_index2.gif" alt="eclipse_index2.gif" /></div>
<p>Después de buscar el artefacto &#8220;apache-camel&#8221;, haciendo &#8220;doble click&#8221; sobre él abrirá el mismo en Eclipse para recorrerlo o editarlo.</p>
<p>Estas funcionalidades hacen que trabajar con repositorios remotos desde dentro de Eclipse sea mucho más fácil y rápido. Después de todas las horas que posiblemente hemos gastado haciendo este tipo de tareas a mano durante los últimos años &#8211; visitando repositorios a través del navegador web, descargando artefactos y haciendo &#8220;grep&#8221; buscando clases y POMs &#8211; encontraréis que m2eclipse es un grato cambio a mejor porque potencia el índice de repositorio <a href="http://nexus.sonatype.org/">Nexus</a>.</p>
<h2><span>Preferencias Maven</span></h2>
<p>La capacidad de ajustar las preferencias de MAven y algunas opciones de Maven es un aspecto importante de desarrollar con Maven y m2eclipse ofrece la posibilidad de cambiar estos elementos a través de la página de preferencias Maven dentro de Eclipse. Normalmente cuando usamos Maven desde la linea de comandos, esas preferencias y opciones están disponibles desde ficheros en nuestro directorio ~/.m2 y como opciones de la linea de comandos. m2eclipse proporciona acceso a algunas de las preferencias y opciones más importantes desde el IDE. La Figura 24 &#8220;Preferencias Maven para Eclipse&#8221; muestra la página de preferencias Maven en Eclipse:</p>
<p style="text-align:center;"><em><strong>Figura 24. Preferencias Maven para Eclipse</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preferences.gif" alt="eclipse_preferences.gif" /></div>
<p>Las casillas (&#8220;check boxes&#8221;) en la sección superior proporcionan la posibilidad de:</p>
<ul>
<li>Ejecutar Maven en modo &#8220;fuera de linea&#8221; (&#8220;offline&#8221;), deshabilitando cualquier descarga desde repositorios remotos</li>
<li>Habilitar la salida de depuración en la Consola Maven</li>
<li>Descargar &#8220;jars&#8221; de fuentes de un artefacto desde repositorios Maven remotos</li>
<li>Descargar &#8220;jars&#8221; de JavaDoc de un artefacto desde repositorios Maven remotos</li>
<li>Descargar y Actualizar índices locales desde repositorios remotos al arrancar</li>
</ul>
<p>La siguiente sección ofrece un menú &#8220;pop-up&#8221; para seleccionar qué objetivo (&#8220;goal&#8221;) nos gustaría que fuera ejecutado cuando un proyecto sea importado y cuando las carpetas de fuentes para un proyecto dado se actualicen. El objetivo por defecto se llama &#8220;process-resources&#8221; que copia y procesa los recursos del proyecto en el directorio de destino para dejar el proyecto listo para empaquetar. Personalizar esta lista de objetivos puede ser útil si necesitamos ejecutar objetivos personalizados que procesen recursos o generen configuración de mantenimiento.</p>
<p>Si necesitamos ayuda seleccionando un objetivo, pulsamos en el botón &#8220;Select…&#8221; para ver el diálogo &#8220;Goals&#8221; (Objetivos). La Figura 25 &#8220;Diálogo de Objetivos Maven con Ciclo de vida Maven&#8221; muestra el diálogo de Objetivos con una lista de todas las fases en el ciclo de vida Maven por defecto.</p>
<p style="text-align:center;"><em><strong>Figura 25. Diálogo de Objetivos Maven con Ciclo de vida Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preference-goals.gif" alt="eclipse_preference-goals.gif" /></div>
<p>Cuando vemos el diálogo de Objetivos por primera vez, es posible que nos sintamos abrumados por el número de objetivos mostrados. Hay literalmente cientos de plugins Maven para todo desde generar una base de datos, hasta ejecutar pruebas de integración, o realizar análisis estáticos (de código), o incluso generar web services con XFire. Hay más de doscientos plugins con objetivos seleccionables en el diálogo de Objetivos, la Figura 26 &#8220;Selección de Objetivo con el Plugin Tomcat Resaltado&#8221; muestra el diálogo &#8220;Goals&#8221; con los objetivos del plugin Maven para Tomcat resaltados.</p>
<p style="text-align:center;"><em><strong>Figura 26. Selección de Objetivo con el Plugin Tomcat Resaltado</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preference-goals2.gif" alt="eclipse_preference-goals2.gif" /></div>
<p>Otra página de preferencias Maven es la página de configuración de Instalaciones Maven que se muestra en la Figura 27 &#8220;Página de Preferencias de Instalaciones Maven&#8221;:</p>
<p style="text-align:center;"><em><strong>Figura 27. Página de Preferencias de Instalaciones Maven</strong></em></p>
<div class="image-container aligncenter"><img class="image" src="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preferences2.gif" alt="eclipse_preferences2.gif" /></div>
<p>Esta página nos permite añadir otras instalaciones Maven al entorno Eclipse. Si queremos usar una versión diferente de Maven con el plugin m2eclipse podemos configurar múltiples instalaciones de Maven desde esta página de configuración, esto es muy parecido a la opción de añadir más de una JVM (Máquina Virtual Java) para correr dentro de Eclipse. Una versión &#8220;incrustada&#8221; (embedded) de Maven conocida como el Maven Embedder ya está especificada. Ésta es la que se usa para ejecutar Maven dentro de Eclipse. Si tenemos otra instalación de Maven que quisiéramos usar en vez del Maven Embedder, podemos añadir otro &#8220;runtime&#8221; Maven pulsando en el botón &#8220;Add…&#8221;. La Figura 27 &#8220;Página de Preferencias de Instalaciones Maven&#8221; muestra una página de configuración que lista el Maven Embedder, Maven 2.0.9 y una instalación de Maven 2.1-SNAPSHOT.</p>
<p>La página de configuración de Instalaciones también nos permite especificar la posición del fichero de propiedades global de Maven. Si no queremos especificar la situación de este fichero en esta página de configuración, Maven usará el fichero por defecto buscando en conf/settings.xml de la instalación de Maven seleccionada. También podemos cambiar la situación de nuestro fichero de propiedades de usuario desde el valor por defecto ~/.m2/settings.xml y podemos cambiar la posición del repositorio local de Maven desde la localización por defecto en ~/.m2/repository.</p>
<h2><span>Resumen</span></h2>
<p>Cuando instalamos m2eclipse, entenderemos que añade ayudas para proyectos Maven. Seremos capaces de ejecutar construcciones Maven perfectamente e importar y crear proyectos Maven. m2eclipse estará al tanto de las relaciones entre proyectos y nos encontraremos a nosotros mismos recurriendo a la linea de comandos cada vez menos para ejecutar una construcción Maven. Después de unas cuantas semanas comenzaremos a darnos cuenta de que m2eclipse ha cambiado la manera en que desarrollamos en Eclipse.</p>
<p>Gracias a la integración con el índice de repositorio Nexus, m2eclipse expone cierta información de gran valor para el desarrollador y trae la riqueza semántica del repositorio central a la punta de nuestros dedos. Ejecutando las fases del ciclo de vida Maven desde Eclipse es interesante, pero ser capaz de ver una lista completa de Arquetipos Maven en el repositorio central y ser capaz de buscar todos los artefactos que contienen una clase específica son las características que harán de m2eclipse un agregado imprescindible a tu &#8220;kit&#8221; de desarrollo.</p>
<p>*******************************************************************************************************</p>
<p>Bueno les dejo dos enlaces que ahí por la red, importantes sobre el tema:</p>
<ul>
<li><a href="http://www.softwarepills.com/?p=81">Preparando Eclipse para Maven con m2eclipse</a></li>
<li><a href="http://www.latascadexela.es/2008/09/configurar-eclipse-para-trabajar-con.html">Configurar Eclipse para trabajar con Maven</a></li>
</ul>
<p>Gracias, por leer, si tienes algún enlace que compartir sobre el tema o algo que agregar, solo deja tu comentario.</p>
<p>Dev. Dertin</p></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=148&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/29/introduccion-a-m2eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/Introductiontom2eclipse.jpg" medium="image">
			<media:title type="html">Introductiontom2eclipse.jpg</media:title>
		</media:content>

		<media:content url="http://i.creativecommons.org/l/by-nc/3.0/es/88x31.png" medium="image">
			<media:title type="html">88x31.png</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_console.gif" medium="image">
			<media:title type="html">eclipse_console.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_create-wizard.gif" medium="image">
			<media:title type="html">eclipse_create-wizard.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_new-maven.gif" medium="image">
			<media:title type="html">eclipse_new-maven.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_new-maven-project.gif" medium="image">
			<media:title type="html">eclipse_new-maven-project.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_create-pom.gif" medium="image">
			<media:title type="html">eclipse_create-pom.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import.gif" medium="image">
			<media:title type="html">eclipse_import.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import-project.gif" medium="image">
			<media:title type="html">eclipse_import-project.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_checking-out.gif" medium="image">
			<media:title type="html">eclipse_checking-out.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import2.gif" medium="image">
			<media:title type="html">eclipse_import2.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-depend.gif" medium="image">
			<media:title type="html">eclipse_add-depend.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_import-camel.gif" medium="image">
			<media:title type="html">eclipse_import-camel.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_available-features.gif" medium="image">
			<media:title type="html">eclipse_available-features.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_run-menu.gif" medium="image">
			<media:title type="html">eclipse_run-menu.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_run-config.gif" medium="image">
			<media:title type="html">eclipse_run-config.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-manual-depend.gif" medium="image">
			<media:title type="html">eclipse_add-manual-depend.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_updating-depends.gif" medium="image">
			<media:title type="html">eclipse_updating-depends.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_add-depend3.gif" medium="image">
			<media:title type="html">eclipse_add-depend3.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_navigate.gif" medium="image">
			<media:title type="html">eclipse_navigate.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_search-pom.gif" medium="image">
			<media:title type="html">eclipse_search-pom.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_search-class.gif" medium="image">
			<media:title type="html">eclipse_search-class.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_show-view.gif" medium="image">
			<media:title type="html">eclipse_show-view.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_indexes.gif" medium="image">
			<media:title type="html">eclipse_indexes.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_index2.gif" medium="image">
			<media:title type="html">eclipse_index2.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preferences.gif" medium="image">
			<media:title type="html">eclipse_preferences.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preference-goals.gif" medium="image">
			<media:title type="html">eclipse_preference-goals.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preference-goals2.gif" medium="image">
			<media:title type="html">eclipse_preference-goals2.gif</media:title>
		</media:content>

		<media:content url="http://www.theserverside.com/tt/articles/content/Introductiontom2eclipse/images/eclipse_preferences2.gif" medium="image">
			<media:title type="html">eclipse_preferences2.gif</media:title>
		</media:content>
	</item>
		<item>
		<title>Funciones Inline</title>
		<link>http://dertin.wordpress.com/2008/12/29/funciones-inline/</link>
		<comments>http://dertin.wordpress.com/2008/12/29/funciones-inline/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 21:26:44 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[códigos X códigos]]></category>
		<category><![CDATA[aprendizaje]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=141</guid>
		<description><![CDATA[Explica que es una función inline en C++ y da un ejemplo de uso.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=141&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Bueno en esta oportunidad les presento el tipo de función especial &#8220;inline&#8221;, la cúal no es de uso común, pero sirve conocerle y en algunos caso utilizarle (cundo se trata de funciones de pocas lineas), consiste en un tipo de función la cual en vez se cargar el contenido de la función en memoria, para estar expectante de una llamada y estar &#8220;saltando&#8221; por la memoria, este tipo de función lo que hace es se carga dentro del bloque donde se le hace referencia, osea esta en la linea de &#8220;llamada&#8221; como parte del código, y no en memoria aparte; esto es útil para funciones pequeñas ya sean de 1 a 4 lineas de código, en vez de estar saltando a otro sitio de memoria del programa que ocasiona una recarga de memoria, se puede definir como inline y hacer que se incluya como código a procesar en la misma función ya cargada en memoria.</p>
<p>Les dejo un ejemplo de codigo de función inline, como podes ver se usa la palabra clave inline para forzar al compilador el tipo de función, algunos compiladores determinan en caso de no especificar nada, si debe ser inline o normal, aquí somos nosotros quienes le decimos al compilador que trate al función como inline :<span id="more-141"></span></p>
<p><strong>#include &lt;iostream&gt;</strong></p>
<p><strong>using namespace std;<br />
inline int Doble(int);</strong></p>
<p><strong>int main()<br />
{<br />
int objetivo;<br />
cout &lt;&lt; &#8220;Escriba un numero para utilizar\n&#8221; &lt;&lt; endl;<br />
cin &gt;&gt; objetivo;<br />
cout &lt;&lt; &#8220;\n&#8221;;</strong></p>
<p><strong>objetivo = Doble(objetivo);<br />
cout &lt;&lt; &#8220;Objetivo: &#8221; &lt;&lt; objetivo &lt;&lt; endl;</strong></p>
<p><strong>objetivo = Doble(objetivo);<br />
cout &lt;&lt; &#8220;Objetivo: &#8221; &lt;&lt; objetivo &lt;&lt; endl;</strong></p>
<p><strong>objetivo = Doble(objetivo);<br />
cout &lt;&lt; &#8220;Objetivo: &#8221; &lt;&lt; objetivo &lt;&lt; endl;</strong></p>
<p><strong>return 0;<br />
}</strong></p>
<p><strong>int Doble (int objetivo)<br />
{<br />
return objetivo*2;<br />
}</strong></p>
<p>Si tenes alguna duda, o aporte, deja tu comentario, gracias..</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/141/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=141&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/29/funciones-inline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejemplos de &#8220;Overflow&#8221;</title>
		<link>http://dertin.wordpress.com/2008/12/23/ejemplos-de-overflow/</link>
		<comments>http://dertin.wordpress.com/2008/12/23/ejemplos-de-overflow/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 21:05:03 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[códigos X códigos]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=114</guid>
		<description><![CDATA[Unos códigos muy sencillos para que vean el overflow en dos ejemplos, espero que sean útiles  ,
overflow:  &#8220;Desbordamiento de la capacidad de una variable en un programa o de un fichero&#8221;.
1]
#include &#60;iostream&#62;
int main()
{
using std::cout;
using std::endl;
unsigned int resultado;
unsigned int mayor = 100;
unsigned int menor = 50;
resultado = mayor &#8211; menor;
cout &#60;&#60; &#8220;resultado es: &#8220; &#60;&#60; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=114&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Unos códigos muy sencillos para que vean el overflow en dos ejemplos, espero que sean útiles <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ,<br />
overflow:  &#8220;Desbordamiento de la capacidad de una variable en un programa o de un fichero&#8221;.</p>
<p>1]<span style="color:#008000;"><br />
#include &lt;iostream&gt;</span><br />
<span style="color:#0000ff;">int</span> <span style="color:#003366;">main</span>()<br />
{</p>
<p><span style="color:#003366;"><span style="color:#008080;">using</span> std::cout</span>;<br />
<span style="color:#003366;"><span style="color:#008080;">using</span> std::endl</span>;</p>
<p><span style="color:#0000ff;">unsigned int</span> <span style="color:#003366;">resultado</span>;<br />
<span style="color:#0000ff;">unsigned int</span> <span style="color:#003366;">mayor = 100</span>;<br />
<span style="color:#0000ff;">unsigned int</span> <span style="color:#003366;">menor = 50</span>;</p>
<p><span style="color:#003366;">resultado = mayor &#8211; menor</span>;<br />
<span style="color:#0000ff;">cout</span> &lt;&lt; <span style="color:#800000;">&#8220;resultado es: &#8220;</span> &lt;&lt; <span style="color:#003366;">resultado</span>;<br />
<span style="color:#003366;">resultado = menor &#8211; mayor</span>;<br />
<span style="color:#0000ff;">cout</span> &lt;&lt; <span style="color:#800000;">&#8220;\n Ahora resultado es: &#8220;</span> &lt;&lt;<span style="color:#003366;"> resultado</span> &lt;&lt; <span style="color:#003366;">endl</span>;<br />
<span style="color:#000000;"><span style="color:#008000;">return</span> </span>0;<br />
}</p>
<p><span id="more-114"></span></p>
<p>Bueno aquí otro ejemplo pero sacado de Internet es más complejo.</p>
<p>2]<br />
<span style="color:#008000;">#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;</span></p>
<p><span style="color:#0000ff;">int</span> main(<span style="color:#0000ff;">int</span> <span style="color:#000080;">argc</span>, <span style="color:#0000ff;">char</span> <span style="color:#000080;">*argv[]</span>)<br />
{<br />
<span style="color:#0000ff;">char</span> <span style="color:#000080;">*buffer1</span> = (<span style="color:#0000ff;">char *</span>)<span style="color:#000080;">calloc</span>(<span style="color:#000080;">5</span>, sizeof(<span style="color:#0000ff;">char</span>));<br />
<span style="color:#0000ff;">char</span> <span style="color:#000080;">*buffer2</span> = (<span style="color:#0000ff;">char *</span>)<span style="color:#000080;">calloc</span>(15, sizeof(<span style="color:#0000ff;">char</span>));<br />
<span style="color:#0000ff;">char</span> <span style="color:#000080;">*tmp</span>;</p>
<p><span style="color:#0000ff;">strcpy</span>(<span style="color:#000080;">buffer2</span>, <span style="color:#800000;">&#8220;ls -a &#8211;color&#8221;</span>);<br />
<span style="color:#0000ff;">strcpy</span>(<span style="color:#000080;">buffer1</span>, <span style="color:#000080;">argv[1]</span>);</p>
<p><span style="color:#ff9900;">// Indirizzi di memoria&#8230;</span><br />
<span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;%p &lt;&#8211; buffer1\n&#8221;</span>, <span style="color:#000080;">buffer1</span>);<br />
<span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;%p &lt;&#8211; buffer2\n&#8221;</span>, <span style="color:#000080;">buffer2</span>);<br />
<span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;\n\n&#8221;</span>);</p>
<p><span style="color:#ff9900;">// Stampa indirizzi&#8230;</span><br />
<span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;Start code&#8230;.\n&#8221;</span>);<br />
<span style="color:#000080;">tmp=buffer1</span>;<br />
<span style="color:#008000;">while</span>(<span style="color:#000080;">tmp</span>&lt;<span style="color:#000080;">buffer2+<span style="color:#000080;">1</span></span><span style="color:#000080;">5</span>)<br />
{<br />
<span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;%p: %c (0x%x)\n&#8221;</span>,<span style="color:#000080;"> tmp</span>, <span style="color:#000080;">*tmp</span>, <span style="color:#000080;">*</span>(<span style="color:#000080;">unsigned int *</span>)<span style="color:#000080;">tmp</span>);<br />
<span style="color:#000080;">tmp++</span>;<br />
}</p>
<p><span style="color:#0000ff;">printf</span>(<span style="color:#800000;">&#8220;\n&#8221;</span>);<br />
<span style="color:#0000ff;">system</span>(<span style="color:#800000;">buffer2</span>);<br />
<span style="color:#008000;">return</span> 0;<br />
}</p>
<p>Si tienes otro ejemplo que mostrar, deja un comentario aquí, Gracias&#8230;</p>
<p>Saludos, <a href="http://www.dertin.co.cc">Dertin</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=114&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/23/ejemplos-de-overflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven Guía rápida</title>
		<link>http://dertin.wordpress.com/2008/12/23/maven-guia-rapida/</link>
		<comments>http://dertin.wordpress.com/2008/12/23/maven-guia-rapida/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 18:57:43 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Guías Programación]]></category>
		<category><![CDATA[compilar]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[Guías]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[pom.xml]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=117</guid>
		<description><![CDATA[Una Guia rápida sobre el uso de Maven...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=117&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="item">
<h4><strong>Maven Guía rápida</strong></h4>
<p>Este documento no pretende ser una guía completa a Maven, solo una guía rápida para poder    iniciarse en Maven y consecuentemente, continuar por cuenta propia hacia características más    avanzadas.</p>
<h4><img class="aligncenter size-full wp-image-118" title="maven_logo" src="http://dertin.files.wordpress.com/2008/12/maven_logo.gif?w=462&#038;h=106" alt="maven_logo" width="462" height="106" /><br />
Que es maven?</h4>
<p>Maven es una herramienta open source, mediante la cual podemos administrar ciertas etapas del    ciclo de vida de nuestros proyectos, entre variadas cosas más.    Para darnos un ejemplo, con maven podemos compilar nuestros componentes, deployarlos,    correr nuestros casos de pruebas, etc.<span id="more-117"></span></p>
<h4>Pero acaso no puedo hacerlo con Ant?</h4>
<p>Correcto, gran parte de las cosas que se pueden realizar con Maven, pueden implementarse con    Ant, sin embargo podemos pensar en Ant como una herramienta de más bajo nivel, solo por citar    un breve ejemplo, con maven podemos ejecutar la siguiente instrucción:</p>
<p><em>mvn clear</em></p>
<p>Esta simple instrucción elimina los directorios donde tenemos deployado nuestro proyecto, muy    útil por ejemplo cuando queremos deployar desde cero nuestro proyecto nuevamente. En Ant    para implementar esta funcionalidad deberíamos realizar un &#8220;task&#8221; y después buscar los tareas    Ant necesarias para eliminar ciertos directorios. Así pues, podríamos ver a Maven como una    serie de componentes al estilo Ant, pero que ya se encuentran implementados y lo único que    espera es contar con cierta estructura estándar para realizar las operaciones, además de ciertos    parámetros en algunas ocasiones, esto nos lleva a otro punto importante en Maven, el patrón de    estructura de directorios.</p>
<h4>Estructura de patrones: Convención vrs Configuración</h4>
<p>Un termino acuñado en boga últimamente es utilizar convención en vez de configuración,    ejemplos como Ruby on Rails, han disparado y demostrado la eficiencia de utilizar estructuras    patronicas, en vez de expresar directamente todo en la meta información, así pues nos basamos    en convenciones esperadas, para realizar diferentes acciones.</p>
<p>Maven no escapa a este movimiento, es así como Maven logra compilar, deployar entre muchas    otras tareas disponibles, sin necesidad de que le indiquemos donde se encuentran nuestros    archivos fuentes, recursos, archivos Web, etc.</p>
<p>Maven asume que nosotros contamos con una estructura como esta, por ejemplo:</p>
<p><em>${basedir}/src/main/java ${basedir}/src/main/resources ${basedir}/src/test/java ${basedir}/src/test/resources</em></p>
<p>Estos directorios le indica a Maven, donde encontrar nuestros archivos Java, los diferentes    recursos como archivos de &#8220;properties&#8221;, &#8220;xmls&#8221;, entre otros. La carpeta &#8220;test&#8221; por su parte le    indica a Maven donde se encuentran los archivos &#8220;java&#8221; y los &#8220;recourses&#8221; necesarios para las    pruebas de unidad; por ejemplo nosotros podemos tener cargadas configuraciones y classpaths    diferentes a la hora de ejecutar nuestros casos de pruebas.</p>
<h4>Artefactos</h4>
<p>Los artefactos en Maven, los podemos ver como un tipo de proyecto o componente, Maven    maneja gran variedad de artefactos y dependiendo del tipo que sea nuestro proyecto actual (el    tipo de artefacto se puede ver como una plantilla que Maven ya tiene lista para utilizarla), la    estructura de carpetas básica mencionada en el punto anterior puede extenderse y la forma en que    se deploya puede resultar diferente, por ejemplo cuando el artefacto es un &#8220;web-app&#8221;,    adicionalmente se nos crea una carpeta en:</p>
<p><em>${basedir}/src/main/webapp</em></p>
<p>Donde depositamos todos los recursos Web, incluyendo nuestra carpeta &#8220;WEB-INF&#8221;, de igual manera para los diferentes artefactos dispondremos de variadas estructuras de carpetas agregadas a la composición básica, antes mencionada.</p>
<h4>Manejo de dependencias y repositorios</h4>
<p>Maven proporciona un modulo para el manejo de dependencias, ya veremos mas adelante de que se trata esto del manejo de dependencias, sin embargo por ahora solo mencionar que Maven tiene un repositorio donde almacena nuestros componentes o componentes de terceros, por ejemplo los archivos jar de Struts, los archivos jar de Apache Commons, etc. Por defecto el repositorio es almacenado en un directorio local, regularmente en ${userprofile}/.m2. En este repositorio como en todos se almacenan los jar, por artefact id y versión. Adicionalmente resulta importante mencionar que Maven tiene la posibilidad de utilizar directorios compartidos en una Intranet, por ejemplo, un servidor local donde se podrían almacenar los componentes de la compañía y compartirlos, al estilo de Framework o librerías de utilidades.</p>
<p>Maven, además cuenta con un gigantesco repositorio (http://repo1.maven.org/maven2/) expuesto en Internet de donde bajamos la versiones de los diferentes componentes, regularmente nosotros podemos indicarle a Maven los repositorios que deseamos utilizar, mas adelante cuando se explique el manejo de las dependencias, entenderemos de mejor manera, el manejo de los repositorios.</p>
<h4>Proyectos</h4>
<p>Como hemos mencionado, Maven maneja los proyectos como artefactos y estructuras patronicas    para los directorios, la forma en como Maven conoce la minima meta información de nuestro    proyecto, es mediante el Project Object Manager (POM), este es un archivo XML, alojado en la    raíz de nuestro directorio de proyecto con el nombre de pom.xml.</p>
<h4>Creando nuestro primer proyecto</h4>
<p>Para crear nuestro primer proyecto necesitamos indicarle a Maven un &#8220;groupId&#8221;, un &#8220;artifactId&#8221; y    un paquete Java por defecto. El siguiente ejemplo nos muestra como crear el proyecto,    &#8220;primerproyecto&#8221;, con un paquete por defecto &#8220;cr.co.jsanca.mavenexample&#8221;.</p>
<p><em>mvn archetype:create -DgroupId=cr.co.jsanca -DartifactId=primerproyecto -DpackageName=cr.co.jsanca.mavenexample</em></p>
<p>El &#8220;groupId&#8221;, le indica a Maven el identificador de grupo bajo el cual queremos agrupar nuestros    componentes, una buena práctica es agrupar todos los componentes de nuestro proyecto o    compañía bajo un mismo &#8220;groupId&#8221;. Por ejemplo en un proyecto clásico podríamos tener:</p>
<p><em>mvn archetype:create -DgroupId=cr.co.jsanca -DartifactId=dao -DpackageName=cr.co.jsanca.dao mvn archetype:create -DgroupId=cr.co.jsanca -DartifactId=service -DpackageName=cr.co.jsanca.service mvn archetype:create -DgroupId=cr.co.jsanca -DartifactId=action -DpackageName=cr.co.jsanca.action</em></p>
<p>Las anteriores líneas indican a Maven crear un proyecto dao, service y action bajo el mismo    grupo y con los paquetes Java cr.co.jsanca &#8211;&gt; dao, service, action.</p>
<p>El &#8220;artifactId&#8221;, le indica a Maven el identificador especifico del proyecto dentro del group id, así    pues la llave para localizar un proyecto es el group id y el artifact id, con estos dos datos    podemos bajar alguna de las versiones disponibles.</p>
<p>Después de crear nuestro primer proyecto podemos ir a nuestro espacio de disco y comprobar los    siguientes archivos:</p>
<p>primerproyecto     <em> pom.xml </em> * main     <em> </em> * java     * * * * cr/co/jsanca/mavenexample/App.java    * * test     <em> </em> * java     * * * * cr/co/jsanca/mavenexample/AppTest.java</p>
<p>Como notarán esta es la estructura minima para crear nuestro proyecto de Maven, en nuestro    caso aun no contamos con archivos de recursos, algo importante de anotar es que dentro del    directorio &#8220;java&#8221; tanto de main y test, Maven solo espera archivos .java, así que el resto de los    archivos que coloquemos no los va tomar en cuenta a la hora de compilar y deployar, por esa    razón que ocupamos crear la carpeta &#8220;resources&#8221;, igual aquí podes crear paquetes Java que se    verán reflejados cuando deployemos nuestro aplicación.</p>
<h4>Construyendo nuestro primer proyecto</h4>
<p>Como mencionamos anteriormente, Maven nos va ayudar para controlar nuestro ciclo de vida,    por ejemplo si queremos compilar nuestro proyecto, simplemente debemos ejecutar:</p>
<p><em>mvn compile </em></p>
<p>Si vamos a la carpeta donde tenemos nuestro proyecto, nos daremos cuenta que tenemos una    carpeta llamada &#8220;target&#8221;, es en esta carpeta donde se almacenan todos los archivos deployados,    .class, .jar, .war, .ear, entre otras cosas que puede deployar maven.</p>
<p>En el caso de nuestro &#8220;primerproyecto&#8221;, la única carpeta con que contamos es &#8220;classes&#8221; y    contiene el compilado de la clase App.java.</p>
<p>Entre otras funcionalidades que nos proporciona Maven, tenemos:</p>
<p><em>mvn test</em></p>
<p>Esta tarea corre nuestro test, por defecto son unit test, de JUnit sin embargo y muy    probablemente existan formas de utilizar otros frameworks.</p>
<p><em>mvn clear</em></p>
<p>Esta tarea limpia (elimina) todo el contenido de la carpeta &#8220;target&#8221;, para realizar un compilado,    empaqueta o deployado desde cero.</p>
<p><em>mvn package</em></p>
<p>Esta tarea compila, ejecuta los test y empaqueta nuestro proyecto ya sean en .jar, .war o .ear.</p>
<p><em>mvn install</em></p>
<p>Esta tarea compila, ejecuta los test y empaqueta nuestro proyecto y adicionalmente lo instala en    el repositorio, para que pueda ser referido como dependencia, por otros proyectos.</p>
<p><em>mvn deploy</em></p>
<p>Esta tarea compila, ejecuta los test y empaqueta nuestro proyecto, adicionalmente lo sube a    nuestro servidor o repositorio (tenemos que indicarlo en el pom) para que el ejecutable pueda ser    compartido para otros desarrolladores, en algunas ocasiones uno redirecciona el contexto del    App Server a lo empaquetado en la carpeta &#8220;target&#8221; de esta manera nos basta con solo hacer un    &#8220;package&#8221;.</p>
<p><em>mvn site</em></p>
<p>Esta simpática tarea, genera un sitio con la documentación del proyecto.</p>
<h4>Paseando por nuestro POM</h4>
<p>Abrimos nuestro archivo POM.XML, y veremos el siguiente contenido:</p>
<p>*&lt;project xmlns=&#8221;http://maven.apache.org/POM/4.0.0&#8243; xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221;     xsi:schemaLocation=&#8221;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&#8221;&gt;        &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;        &lt;groupId&gt;cr.co.jsanca&lt;/groupId&gt;        &lt;artifactId&gt;primerproyecto&lt;/artifactId&gt;        &lt;packaging&gt;jar&lt;/packaging&gt;        &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;        &lt;name&gt;primerproyecto&lt;/name&gt;        &lt;url&gt;http://maven.apache.org&lt;/url&gt;        &lt;dependencies&gt;        &lt;dependency&gt;        &lt;groupId&gt;junit&lt;/groupId&gt;        &lt;artifactId&gt;junit&lt;/artifactId&gt;        &lt;version&gt;3.8.1&lt;/version&gt;        &lt;scope&gt;test&lt;/scope&gt;        &lt;/dependency&gt;        &lt;/dependencies&gt;        &lt;/project&gt;*</p>
<p>Esta es la configuración por defecto que tenemos, para el proyecto. Vamos analizarlo a    continuación,</p>
<p><strong>ModelVersion</strong>, es la versión de la especificación del modelo Maven.    <strong>GroupId</strong>, actifactId ya los hemos abordados.    <strong>Packaging</strong>, indica a Maven la forma en que debe empaquetar el proyecto.    <strong>Version</strong>, indica la versión del build de nuestro projecto.</p>
<p><strong>Dependencies</strong>, esta sección es muy importante pues indica a Maven cuales son las dependencias    principales de nuestra aplicación, como se puede notar lo que estamos declarando es una    dependencia hacia otro proyecto Maven, en nuestro caso al proyecto junit, del grupo junit,    versión 3.8.1. El &#8220;scope&#8221; es utilizado en algunas ocasiones para denotar si esta la naturaleza de la    dependencia, veamos los posibles valores:</p>
<p><strong>compile</strong>, este es el scope por defecto y se utiliza para el proceso de compilación.</p>
<p><strong>provided</strong>, este dependencia se incluye en tiempo de compilación, pero se omite a la hora de</p>
<p><strong>empaquetar</strong>, pues se asume que el JDK o el Server lo contiene, por ejemplo los jar de server api    en Tomcat.</p>
<p><strong>runtime</strong>, indica que esta dependencia no es necesaria para compilación pero si para ejecución, tal es el caso de un Driver de JDBC o cualquier componente que se invocado solo por reflexión.</p>
<p><strong>test</strong>, esta dependencia solo es utiliza para compilar y ejecutar los fuentes bajo la carpeta test.</p>
<p>Algo importante a considerar en las dependencias es la transitividad de las misma, con    transitividad queremos decir que si una dependencia a la vez depende de otra y esta de otra, etc,    todas estas dependencias serán agregadas cuando empaquetemos nuestro proyecto (package).</p>
<p>Por ejemplo, si incluimos la librería A, y esta depende de B y C</p>
<p>A -&gt; B, C.</p>
<p>Cuando deployemos nuestra aplicación encontraremos bajo “lib” todas las librerias:</p>
<p>lib</p>
<p>A      B      C</p>
<h4>Plugins</h4>
<p>Los plugins son un mecanismo mediante el cual escalamos la funcionalidad por defecto que    proporciona maven, un plugin puede ser un componente contenido dentro del mismo Maven o    puede ser un componente de terceros, el cual Maven busca en el momento de utilizarlo y lo baja    localmente para utilizarlo, los plugins sirven para cumplir variadas tareas, tales como; indicar en    que compliance queremos compilar nuestro código (5.0, 6.0, etc), como empaquetas y deployar    nuestras aplicaciones, como limpiar el target, correr aplicaciones de terceros como tareas Ant,    plugins de Hibernate para generar nuestra base de datos, de WebServices, para deployar nuestros    Stubs, etc.</p>
<p>A continuación unos ejemplos de plugins:</p>
<p>*&lt;plugin&gt;    &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;    &lt;configuration&gt;    &lt;source&gt;1.5&lt;/source&gt;    &lt;target&gt;1.5&lt;/target&gt;    &lt;/configuration&gt;    &lt;/plugin&gt;*</p>
<p>Plugin para indicarle a maven, que tanto el código fuente de nuestra aplicación, así como los    compilados, son Java 5.</p>
<p>*&lt;plugin&gt;    &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;    &lt;configuration&gt;    &lt;webappDirectory&gt;target/war/survey&lt;/webappDirectory&gt;    &lt;/configuration&gt;    &lt;/plugin&gt;*</p>
<p>Este plugin le indica a Maven que el directorio donde debe deployar la aplicación Web, es    &#8220;target/war/survey&#8221;.</p>
<p>De manera identica puedes agregar diferentes tipos de plugins y los mismo son datos por Maven    o los fuentes terceras.</p>
<h4>Repositorios</h4>
<p>Los repositorios son útiles para indicarle a Maven, de donde debe bajarse los diferentes    artefactos, por ejemplo se pueden indicar servidores de open source, servidores a nivel de    intranet, etc. Los repositorios se pueden indicar de la siguiente manera:</p>
<p>*&lt;repositories&gt;    &lt;repository&gt;    &lt;id&gt;repo1&lt;/id&gt;    &lt;name&gt;Maven Central Repository&lt;/name&gt;    &lt;url&gt;http://repo1.maven.org/maven2&lt;/url&gt;    &lt;/repository&gt;    &lt;repository&gt;    &lt;id&gt;java.net&lt;/id&gt;    &lt;url&gt;http://download.java.net/maven/2&lt;/url&gt;    &lt;/repository&gt;    &lt;/repositories&gt;*</p>
<p>Aquí le indicamos a Maven que busque en los repositorios repo1 y java.net los diferentes    artefactos.</p>
<h4>Conclusiones</h4>
<p>Maven es una excelente herramienta que nos ayuda en diferentes ciclos de vida de nuestra    aplicación, de una forma muy sencilla.</p>
<p>Maven tiene un manejo de dependencias, que facilita mucho el estar buscando información    acerca de cuales jar ocupa un Framework o librería, encontraste, nuestra aplicación puede    inflarse mucho, por incluir jar de funcionalidades de un Framework que no ocupamos por    ejemplo, pero son incluidas.</p>
<p>Maven es una herramienta muy escalable y configurable, se puede integrar con los frameworks    más populares entre otras cosas.</p>
<p>http://maven.apache.org</p>
<p>Fuente :    http://debugmodeon.com/item/239820/maven-guia-rapida<br />
Autor   :    jsanca</p>
<p>Ahora les dejo otras guias que me eh encontrado en la red:<br />
<a title="Maven Definitive Guide - PDF" href="http://www.4shared.com/file/77059292/17387b13/maven-definitive-guide.html" target="_blank">Maven Definitive Guide &#8211; PDF</a><br />
<a title="Maven Guia - PDF" href="http://www.4shared.com/file/77059382/fe12065/maven.html" target="_blank">Maven Guía &#8211; PDF [es]<br />
</a></p>
<p>PD:  <strong>Si encontras otras guías de Maven compartilas, deja un comentario en esta entrada, estaria muy bueno gracias <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</strong></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=117&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/12/23/maven-guia-rapida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>

		<media:content url="http://dertin.files.wordpress.com/2008/12/maven_logo.gif" medium="image">
			<media:title type="html">maven_logo</media:title>
		</media:content>
	</item>
		<item>
		<title>TOP 100 de Tools para el Aprendizaje</title>
		<link>http://dertin.wordpress.com/2008/11/21/top-100-de-tools-para-el-aprendizaje/</link>
		<comments>http://dertin.wordpress.com/2008/11/21/top-100-de-tools-para-el-aprendizaje/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 03:57:34 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[aprendizaje]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Top 100 Tools for Learning 2008]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=107</guid>
		<description><![CDATA[Top 100 Tools for Learning 2008

Publicado en el sito  del &#8220;Centre for Learning &#38; Performance Technologies&#8221; donde elaboro una lista de las herramientas para el aprendizaje más importantes dentro del ambito tecnologico de la RED Internet, algo muy interesante por lo menos para mí. En el sitio también se puede encontrar un Top 25 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=107&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="__ss_733816" style="width:425px;text-align:left;"><a title="Top 100 Tools for Learning 2008" href="http://www.slideshare.net/janehart/top-100-tools-for-learning2008-presentation?type=powerpoint">Top 100 Tools for Learning 2008</a></div>
<p><object type='application/x-shockwave-flash' wmode='transparent' data='http://static.slideshare.net/swf/ssplayer2.swf?id=733816&#038;doc=top1002008-1226159775914793-8' width='425' height='348'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=733816&#038;doc=top1002008-1226159775914793-8' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<p>Publicado en el sito  del &#8220;<a href="http://www.c4lpt.co.uk/index.html" target="_blank">Centre for Learning &amp; Performance Technologies</a>&#8221; donde elaboro una lista de las herramientas para el aprendizaje más importantes dentro del ambito tecnologico de la RED Internet, algo muy interesante por lo menos para mí. En el sitio también se puede encontrar un Top 25 por categorías y la posibilidad de votar por tu preferida.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=107&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/11/21/top-100-de-tools-para-el-aprendizaje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>La función Sizeof()</title>
		<link>http://dertin.wordpress.com/2008/11/21/la-funcion-sizeof/</link>
		<comments>http://dertin.wordpress.com/2008/11/21/la-funcion-sizeof/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 02:37:49 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[códigos X códigos]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[sizeof]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=84</guid>
		<description><![CDATA[La función sizeof es utilizada para obtener el tamaño en bytes de un tipo de valor como puede ser (int, float, char, double, short int...). Veamos un Ejemplo...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=84&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>La función sizeof es utilizada para obtener el tamaño en bytes de un tipo de valor como puede ser (int, float, char, double, short int&#8230;).</p>
<p>Es muy sencilla de utilizar simplemente pide un parámetro que corresponde al tipo de variable por ejemplo: sizefo( int ); pero se puede utilizar pasándole de parámetro una variable declarada para allar su valor en bytes por ejemplo: int variable; sizeof( variable ); en efecto devolvería el mismo valor que el ejemplo anterior.<br />
Ahora veamos un ejemplo de código que eh creado. (compilado en Visual C++ 2008)</p>
<p><span style="color:#000080;">#include <span style="color:#800000;">&lt;iostream&gt;</span><br />
#include <span style="color:#800000;">&lt;conio.h&gt;</span></span><br />
<span style="color:#000080;">using </span>namespace std;</p>
<p><span style="color:#000080;">void</span> main() {</p>
<p>cout &lt;&lt; <span style="color:#800000;">&#8220;\nsizeof (strongtyping); \n&#8221;</span>; <span style="color:#008000;">//Tipo de dato</span></p>
<p>cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un INT: \t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>(<span style="color:#000080;"> int </span>) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;  <span style="color:#008000;">// tama\xa4o = tamaño, caracter de escape \xxx | \xa4 == ñ</span><br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un FLOAT: \t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( <span style="color:#000080;">float</span> ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un CHAR: \t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( <span style="color:#000080;">char</span> ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n\n&#8221;</span>;</p>
<p>cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un INT SHORT:\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( <span style="color:#000080;">int short</span> ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un BOOL:\t\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( <span style="color:#000080;">bool</span> ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un DOUBLE:\t\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( <span style="color:#000080;">double</span> ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n\n&#8221;</span>;</p>
<p>cout &lt;&lt; <span style="color:#800000;">&#8220;sizeof (variable);\n&#8221;</span>;<br />
<span style="color:#000080;">int</span> var_int;<br />
<span style="color:#000080;">float</span> var_float;<br />
<span style="color:#000080;">char</span> var_char;<br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un INT:\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( var_int ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
cout &lt;&lt;<span style="color:#800000;"> &#8220;El tama\xa4o de un FLOAT:\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( var_float ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
cout &lt;&lt; <span style="color:#800000;">&#8220;El tama\xa4o de un CHAR:\t&#8221;</span> &lt;&lt; <span style="color:#000080;">sizeof</span>( var_char ) &lt;&lt; <span style="color:#800000;">&#8221; Bytes\n&#8221;</span>;<br />
getch();<br />
}</p>
<p>Dev. Dertin</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=84&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/11/21/la-funcion-sizeof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>
	</item>
		<item>
		<title>WebQuest &#8211; método pedagógico</title>
		<link>http://dertin.wordpress.com/2008/11/20/webquest-metodo-pedagogico/</link>
		<comments>http://dertin.wordpress.com/2008/11/20/webquest-metodo-pedagogico/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 01:51:08 +0000</pubDate>
		<dc:creator>Dertin</dc:creator>
				<category><![CDATA[Docentes]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[Profesor]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[WebQuest]]></category>

		<guid isPermaLink="false">http://dertin.wordpress.com/?p=56</guid>
		<description><![CDATA[¿  Que es una WebQuest ?

WebQuest abreviado WQ hace referencia a una actividad didáctica (o método pedagógico) en la cual se elabora una búsqueda orientada, con material de Internet, según leí en Wikipedia: fue propuesta por el profesor Bernie Dodge, de la Universidad de San Diego, en 1995.

"A WebQuest is an inquiry-oriented activity in which some or all of the information that learners interact with comes from resources on the internet" (Dodge, 1995)

Traduciéndolo, Una WebQuest consiste en investigación guiada, con recursos principalmente procedentes de Internet.

Para decir que una actividad didáctica es del tipo WebQuest, hay que tener claro características importantes, la primera es plantear a los alumnos un objetivo claro y concreto, con una guía para localizar los sitios fuentes de información precisos dentro de Internet, osea proporcionar el indice (o temario) del material con el que van a poder elaborar el trabajo (búsqueda orientada), fijar los requisitos que deben cumplir en el trabajo y los criterios de evaluación, algo importante aclarar son que las actividades propuestas deben ser lo más atractivas y motivadoras para el Alumno.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=56&subd=dertin&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2 style="text-align:right;"><span style="color:#993300;">¿  Que es una WebQuest ?<br />
</span></h2>
<p style="text-align:justify;"><a href="http://dertin.files.wordpress.com/2008/11/wq.jpg"><img class="alignleft size-full wp-image-64" title="WQ" src="http://dertin.files.wordpress.com/2008/11/wq.jpg?w=334&#038;h=309" alt="WQ" width="334" height="309" /></a>WebQuest abreviado WQ hace referencia a una actividad didáctica (o método pedagógico) en la cual se elabora una <span style="text-decoration:underline;">búsqueda orientada,</span> con material de Internet, según leí en Wikipedia: fue propuesta por el profesor Bernie Dodge, de la Universidad de San Diego, en 1995.</p>
<p style="text-align:justify;"><em>&#8220;A WebQuest is an inquiry-oriented activity in which some or all of the information that learners interact with comes from resources on the internet&#8221; (Dodge, 1995)</em></p>
<p style="text-align:justify;">Traduciéndolo, Una WebQuest consiste en <span style="color:#008000;"><strong>investigación guiada</strong></span>, con recursos principalmente <span style="text-decoration:underline;">procedentes de Internet</span>.</p>
<p style="text-align:justify;">Para decir que una actividad didáctica es del tipo WebQuest, hay que tener claro características importantes, la primera es <span style="color:#800080;"><span style="color:#000000;">plantear a los alumnos </span><span style="color:#008000;"><strong>un objetivo claro y concreto</strong></span></span>, con una <strong><span style="color:#008000;">g</span><span style="color:#800080;"><span style="color:#008000;">uía para localizar los sitios fuentes de información</span></span></strong><span style="color:#800080;"> <span style="color:#000000;">precisos dentro de Internet</span></span><span style="color:#000000;">,</span> osea proporcionar el indice (o <span style="text-decoration:underline;">temario</span>) del material con el que van a poder elaborar el trabajo (<span style="text-decoration:underline;">búsqueda orientada</span>), <strong><span style="color:#008000;">fijar los requisitos que deben cumplir</span> </strong>en el trabajo y los <span style="color:#008000;"><strong>criterios de evaluación</strong></span>, algo importante aclarar son que las actividades propuestas deben ser lo más <span style="color:#008000;"><strong>atractivas y motivadoras</strong></span> para el Alumno.</p>
<p style="text-align:justify;"><span id="more-56"></span></p>
<ul>
<li>
<ul>
<li><span style="color:#000080;"><strong>Enfoque a Seguir</strong></span></li>
</ul>
</li>
</ul>
<p style="padding-left:30px;">Una<strong> </strong>WebQuest<strong> </strong>es una actividad  centrada 	en el uso y elaboración de la información, casi en su totalidad procesada de Internet.</p>
<h4 style="padding-left:30px;">&#8220;El modelo WQ se sostiene en la firme creencia de que cada alumno es el único protagonista de la construcción de sus conocimientos.&#8221;</h4>
<h4 style="padding-left:30px;">&#8220;Obliga a la utilización de habilidades cognitivas elevadas, prevé el trabajo cooperativo y la autonomía de los alumnos e incluye una evaluación auténtica.&#8221;</h4>
<p style="padding-left:30px;">Pero es un <span style="text-decoration:underline;">error</span> decir creer que una WebQuest consiste, simplemente, en suministrar los contenidos de estudio en soporte digital o extraerlos de una wiki para que los estudiantes elaboren un resumen siguiendo un guión.</p>
<ul>
<li>
<ul>
<li><span style="color:#000080;"><strong>Trabajo en Equipo</strong></span></li>
</ul>
</li>
</ul>
<p style="padding-left:30px;">Una WebQuest se debe realizar <span style="color:#008000;"><strong>formando equipos</strong></span> (o grupos) de trabajo, a cada miembro del grupo, que normalmente es de 3 o 4 alumnos, se le asignará un rol que deberá desempeñar en el grupo y una situación imaginaria en la que situarse para desempeñar la tarea.</p>
<ul>
<li>
<ul>
<li><span style="color:#000080;"><strong>Resultados</strong></span></li>
</ul>
</li>
</ul>
<p style="padding-left:30px;">En cuanto al resultado que se debe esperar del trabajo puedo decir que vale más &#8220;<span style="text-decoration:underline;">respuestas elaboradas y matizadas,  que son el resultado de un discurso argumentado y que no se encuentran en la Red</span>&#8221; osea que cuyo resultado esperado es <strong><span style="color:#008000;">opinable</span> </strong>o el resultado del <span style="color:#008000;"><strong>equilibrio entre factores contrapuestos</strong>.</span> No es de esperar que las respuestas del trabajo sean &#8220;correctas&#8221; de un solo punto de vista.</p>
<ul>
<li>
<ul>
<li><span style="color:#000080;"><strong>Hecho para compartirlo</strong></span></li>
</ul>
</li>
</ul>
<p style="padding-left:30px;">Un trabajo de WebQuest elavorado con material de la Red (Internet), <span style="color:#008000;"><strong>para enriquecer a este medio</strong></span>, compartir el trabajo por redes como Sitios Web, Blogs, Wiki; ayuda a completar la &#8220;misión&#8221;; es una buena idea crear un sitio o Blogs para el Curso o el Colegio, y subir estos trabajos ahí, <span style="text-decoration:underline;">enviarlos a personas reales para que opinen y 	lo evalúen</span>. diría yo que ayuda a la misma Web 2.0, ya que las WebQuest se convierten en un <strong><span style="color:#008000;">recurso que es útil</span></strong> a otros dentro de esta Red y así para la <strong><span style="color:#008000;">construcción de nuevos conocimientos</span></strong>.</p>
<p style="padding-left:30px;">Esta tabla sacada de <a href="http://aulatres.net/1/curs_wq/index.htm" target="_blank">http://aulatres.net/1/curs_wq/index.htm</a> donde hay un excelente curso más técnico del tema (si eres profesor es recomendable que lo visites) engolaba la idea de elaboración de una WQ.</p>
<table border="0" cellspacing="2" cellpadding="4" width="475" align="center">
<tbody>
<tr>
<td colspan="2" height="109" bgcolor="#ffff99">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Escoged                un tema</span></strong></div>
</td>
<td width="300" height="109" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">La idea inicial                ha de pasar <strong>cuatro filtros</strong>:<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Formar parte de los                objetivos del currículum.<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Enfocar de manera diferente                un tema con el cual no estamos del todo satisfechos.<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Permitir hacer un buen                uso de la red.<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Requerir un grado de                comprensión que vaya más allá de la simple                memorización.</span></td>
</tr>
<tr>
<td colspan="2" height="83" bgcolor="#ffff66">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Seleccionad                un diseño</span></strong></div>
</td>
<td width="300" height="83" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">Podéis</span>:<br />
<span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;"><span style="color:#6699ff;font-size:x-small;">• </span>Hacer vuestro propio diseño.<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Adaptar el de alguna                Webquest que os haya gustado.<br />
<span style="color:#6699ff;font-size:x-small;">• </span></span>Utilizar alguna                de las muchas plantillas disponibles.</span></p>
<p><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">(Aquí eh de agregar YO &#8211; que podes encontrar diseños de plantillas <a href="http://www.educationaltechnology.ca/resources/webquest/templates.php" target="_blank">en este sitio web</a>, aunque hay muchos más donde encontrar -)</span></td>
</tr>
<tr>
<td height="65" bgcolor="#ffcccc">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Estableced                los objetivos</span></strong></div>
</td>
<td height="65" bgcolor="#ffcc99">
<div><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;"><strong>Identificad                los recursos</strong></span></div>
</td>
<td width="300" height="65" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;"><span style="color:#6699ff;font-size:x-small;">• </span>Los objetivos deben concretar los aprendizajes que se quieren                conseguir.<br />
</span><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;"><span style="color:#6699ff;font-size:x-small;">• </span>Recursos: buscar, encontrar y guardar páginas web                relacionadas con el tema.</span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#ffcc66">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Seleccionad                la tarea</span></strong></div>
</td>
<td width="300" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">Buscad              la motivación y organización de los alumnos.</span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#ff9933">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Desarrollad                el proceso</span></strong></div>
</td>
<td width="300" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;"><span style="color:#6699ff;font-size:x-small;">• </span>Explicad las diferentes actividades a realizar.<br />
<span style="color:#6699ff;font-size:x-small;">• </span>Haced el listado de recusos</span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#ff6666">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Diseñad                la evaluación</span></strong></div>
</td>
<td width="300" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">Explicad              cómo serán evaluados los alumnos.</span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#cc6666">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Elaborad                la introducción, las conclusiones y los créditos</span></strong></div>
</td>
<td width="300" bgcolor="#ffffcc"><span style="font-family:Arial,Helvetica,sans-serif;font-size:xx-small;">No              olvidéis escribir en la introducción el nivel, el área              curricular, el nombre del autor y la fecha.</span></td>
</tr>
<tr>
<td colspan="2" bgcolor="#ffff66">
<div><strong><span style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:x-small;">Revisad                el conjunto</span></strong></div>
</td>
<td width="300" bgcolor="#ffffcc"></td>
</tr>
</tbody>
</table>
<p>La web principal de la comunidad <strong>WebQuest </strong>se encuentra <strong><a href="http://www.webquest.org/" target="_blank">en este enlace</a></strong>. y hay mucho material de ejemplos en Internet por ejemplo en estos sitios, &#8220;sacados del Blog de Luis González&#8221;:</p>
<ul>
<li><strong><a href="http://cfievalladolid2.net/webquest/common/index.php" target="_blank">Biblioteca semántica de WebQuest del CFIE de Valladolid</a></strong></li>
<li><a href="http://webquest.wordpress.com/" target="_blank"><strong>Bitácora sobre WebQuest</strong></a></li>
<li><a href="http://www.aula21.net/tercera/listado.htm" target="_blank"><strong>Biblioteca de WebQuest de aula21</strong></a></li>
<li><a href="http://platea.pntic.mec.es/%7Eerodri1/BIBLIOTECA.htm" target="_blank"><strong>Grupo de trabajo WebLinex del CPR Don Benito &#8211; Villanueva</strong></a></li>
<li><a href="http://www.webquestcat.org/" target="_blank"><strong>Comunitat Catalana de WebQuests</strong></a></li>
<li><a href="http://www.isabelperez.com/webquest/ejemplos.htm" target="_blank"><strong>Colección de Isabel Perez Torres</strong></a></li>
<li><a href="http://www.eduteka.org/ProyectosWebquest.php?catx=0&amp;tipox=1" target="_blank"><strong>Reseña de proyectos y WebQuest de Eduteka</strong></a></li>
</ul>
<p>Espero que este articulo sobre WebQuest alla sido de su interés, en mi opinion la idea de hacer crescer los recursos de la Web 2.0, prosesando esta información y devolviéndola, es más que un acto beneficioso para todos.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dertin.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dertin.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dertin.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dertin.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dertin.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dertin.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dertin.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dertin.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dertin.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dertin.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dertin.wordpress.com&blog=5502511&post=56&subd=dertin&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://dertin.wordpress.com/2008/11/20/webquest-metodo-pedagogico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6bb3e0223de890aa4f49c31b5afc235?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dertin</media:title>
		</media:content>

		<media:content url="http://dertin.files.wordpress.com/2008/11/wq.jpg" medium="image">
			<media:title type="html">WQ</media:title>
		</media:content>
	</item>
	</channel>
</rss>