<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8793303911419809304</id><updated>2012-02-16T19:11:58.602-08:00</updated><category term='GWT'/><category term='Log4J'/><category term='Maven'/><category term='Ant'/><category term='Google Web Tooklit'/><title type='text'>Blog error 404</title><subtitle type='html'>Blog de desarrollo web en las últimas tecnologías, informática y más...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://error404blog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://error404blog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Juan Luis</name><uri>http://www.blogger.com/profile/11293523079160694675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8793303911419809304.post-8998248050905759166</id><published>2011-06-22T10:26:00.000-07:00</published><updated>2011-06-24T10:08:53.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Log4J'/><title type='text'>Log4j y Spring</title><content type='html'>&lt;meta content='log4j, spring' name='keywords'/&gt;&lt;br /&gt;&lt;meta content='Log4j y spring' name='description'/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://logging.apache.org/log4j/1.2/images/logo.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt;La experiencia nos dice que completar nuestro código con trazas de log es una buena práctica a la hora de desarrollar. Log4j es una herramienta muy útil y libre implementada por Apache que nos va a ayudar en esta labor.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight:bold;"&gt;&lt;span&gt;¿Por qué utilizar logs en vez de System.out?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;La principal diferencia de cualquier API de log sobre un System.out.println() es la posibilidad de deshabilitar o categorizar las trazas de tal manera que no todas las trazas sean mostradas. Para ello, se definen varios niveles de traza en función de lo que queremos habilitar.&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; "&gt;Componentes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Log4j consta de 3 componentes: loggers, appenders and layouts. Se complementan de tal manera que permitan habilitar los mensajes de log en función del tipo y nivel del mensaje (Loggers), controlar en tiempo de ejecución cómo se formatean esos mensajes (Layouts) y dónde se reportan esos mensajes (Appenders).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Niveles de log&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;span&gt;Hay varios niveles de error, todos ellos definidos en la clase org.apache.log4j.Level. La prioridad de cada traza de error se asigna en función del método del logger que invoquemos.&lt;br /&gt;Estos métodos son:  debug, info, warn, error, fatal y log. Una traza de log estará habilitada si su nivel es igual o mayor que el nivel de trazas del logger. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;La jerarquía de nivel de trazas es la siguiente:&lt;br /&gt;DEBUG &amp;lt; INFO &amp;lt; WARN &amp;lt; ERROR &amp;lt; FATAL.&lt;br /&gt;Hay dos niveles más, ALL y OFF, que estarán en el nivel más bajo y más alto respectivamente, y sirven para habilitar o deshabilitar todas las trazas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;El siguiente codigo es un ejemplo de este funcionamiento.&lt;/span&gt;&lt;br /&gt;&lt;pre style="color:#000000;background:#ffffff;"&gt;Logger logger = Logger.getLogger(&lt;span style="color:#2a00ff; "&gt;"logger ejemplo"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3f7f59; "&gt;// Asigno nivel&lt;/span&gt;&lt;br /&gt;logger.setLevel(Level.INFO);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3f7f59; "&gt;// Se muestra ya que WARN &amp;amp;gt; INFO&lt;/span&gt;&lt;br /&gt;logger.warn(&lt;span style="color:#2a00ff; "&gt;"¡Advertencia!"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3f7f59; "&gt;// No se muestra ya que DEBUG &amp;amp;lt; INFO&lt;/span&gt;&lt;br /&gt;logger.debug(&lt;span style="color:#2a00ff; "&gt;"Depurando"&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Configuración&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Log4j puede ser configurado programáticamente, sin embargo es más cómodo utilizar ficheros de configuración. Podemos utilizar 2 tipos de fichero, XML o properties.&lt;/div&gt;&lt;div&gt;Una configuración por defecto podría ser la siguiente:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;package es.error404blog.test;&lt;br /&gt;&lt;br /&gt;import org.apache.log4j.BasicConfigurator;&lt;br /&gt;import org.apache.log4j.Level;&lt;br /&gt;import org.apache.log4j.Logger;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;class&lt;/span&gt; Log4jTest {&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; font-weight:bold; '&gt;private&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;static&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;class&lt;/span&gt; Aplicacion {&lt;br /&gt;&lt;br /&gt;        Logger logger = Logger.getLogger(Aplicacion.class);&lt;br /&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;void&lt;/span&gt; inicializa() {&lt;br /&gt;            logger.debug(&lt;span style='color:#2a00ff; '&gt;"Inicializando..."&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;void&lt;/span&gt; finaliza() {&lt;br /&gt;            logger.debug(&lt;span style='color:#2a00ff; '&gt;"Finalizando..."&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;static&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;void&lt;/span&gt; main(&lt;span style='color:#7f0055; font-weight:bold; '&gt;String&lt;/span&gt;[] args) {&lt;br /&gt;        Logger logger = Logger.getLogger(Log4jTest.class);&lt;br /&gt;        logger.setLevel(Level.ALL);&lt;br /&gt;&lt;br /&gt;        BasicConfigurator.configure();&lt;br /&gt;&lt;br /&gt;        Aplicacion a = &lt;span style='color:#7f0055; font-weight:bold; '&gt;new&lt;/span&gt; Aplicacion();&lt;br /&gt;        logger.debug(&lt;span style='color:#2a00ff; '&gt;"Arrancando aplicacion..."&lt;/span&gt;);&lt;br /&gt;        a.inicializa();&lt;br /&gt;        logger.debug(&lt;span style='color:#2a00ff; '&gt;"Finalizando aplicacion..."&lt;/span&gt;);&lt;br /&gt;        a.finaliza();&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aquí cabe destacar la llamada a BasicConfigurator.configure(), que crea un ConoleAppender, que imprimirá en la consola y un PatternLayout con un formato especifico.&lt;br /&gt;La salida quedaría del siguiente modo:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;DEBUG: org.springframework.samples.petclinic.Log4jTest - Arrancando aplicacion...&lt;br /&gt;0 [main] DEBUG org.springframework.samples.petclinic.Log4jTest  - Arrancando aplicacion...&lt;br /&gt;DEBUG: org.springframework.samples.petclinic.Log4jTest - Finalizando aplicacion...&lt;br /&gt;2 [main] DEBUG org.springframework.samples.petclinic.Log4jTest  - Finalizando aplicacion...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Configuración con properties&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Para cargar la configuraci'on desde un properties bastar'ia con sustituir la linea del BasicConfigurator por&lt;br /&gt;&lt;pre style="color:#000000;background:#ffffff;"&gt;PropertyConfigurator.configure(&lt;span style="color:#2a00ff; "&gt;"src/test/java/com/blogerror404/test/log4j.properties"&lt;/span&gt;);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;y declaramos como ejemplo el siguiente properties:&lt;br /&gt;&lt;pre style="color:#000000;background:#ffffff;"&gt;&lt;span style="color:#2a00ff; "&gt;log4j.rootLogger&lt;/span&gt;=DEBUG, stdout, rolling&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.stdout&lt;/span&gt;=org.apache.log4j.ConsoleAppender&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.stdout.layout&lt;/span&gt;=org.apache.log4j.PatternLayout&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3f7f59; "&gt;#&lt;/span&gt;&lt;span style="color:#3f7f59; "&gt; Patrón que mapea un nombre de fichero y el número de línea&lt;/span&gt;&lt;span style="color:#3f7f59; "&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.stdout.layout.ConversionPattern&lt;/span&gt;=%5p [%t] (%F:%L) - %m%n&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling&lt;/span&gt;=org.apache.log4j.RollingFileAppender&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling.File&lt;/span&gt;=example.log&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling.MaxFileSize&lt;/span&gt;=100KB&lt;br /&gt;&lt;span style="color:#3f7f59; "&gt;#&lt;/span&gt;&lt;span style="color:#3f7f59; "&gt; Backup&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling.MaxBackupIndex&lt;/span&gt;=1&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling.layout&lt;/span&gt;=org.apache.log4j.PatternLayout&lt;br /&gt;&lt;span style="color:#2a00ff; "&gt;log4j.appender.rolling.layout.ConversionPattern&lt;/span&gt;=%p %t %c - %m%n&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;Configuración en Spring&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Para integrar log4j con Spring el framework nos ofrece una clase que inicializa la configuración de log, lo cual nos evita declarar la configuración en nuestros fuentes. Esta clase es Log4jConfigurer.&lt;br /&gt;&lt;br /&gt;La declaración quedaría del siguiente modo:&lt;br /&gt;&lt;br /&gt;&lt;pre style="color:#000000;background:#ffffff;"&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;bean&lt;/span&gt; id=&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;log4jInitializer&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt; class=&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;org.springframework.beans.factory.config.MethodInvokingFactoryBean&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;property&lt;/span&gt; name=&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;staticMethod&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt; value=&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;org.springframework.util.Log4jConfigurer.initLogging&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt; &lt;span style="color:#7f0055; "&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;property&lt;/span&gt; name=&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;arguments&lt;/span&gt;&lt;span style="color:#2a00ff; "&gt;"&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;list&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;value&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;src/test/java/es/error404blog/test/log4j.properties:log4j.properties&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;value&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;list&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;property&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;bean&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;De esta manera con la clase MethodInvokingFactoryBean se invoca el método estático Log4jConfigurer.initLogging con argumento el fichero de propiedades.&lt;br /&gt;&lt;br /&gt;Si trabajamos en una aplicación web, podemos usar una configuración alternativa. Declaramos las siguientes líneas en el fichero web.xml de nuestra aplicación y spring cargará nuestra configuración de log4j.&lt;br /&gt;&lt;pre style="color:#000000;background:#ffffff;"&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;context-param&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;param-name&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;log4jConfigLocation&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;param-name&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;param-value&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;/WEB-INF/classes/log4j.properties&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;param-value&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;context-param&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;listener&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:#7f0055; "&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;listener-class&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;org.springframework.web.util.Log4jConfigListener&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;listener-class&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#7f0055; "&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;listener&lt;/span&gt;&lt;span style="color:#7f0055; "&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8793303911419809304-8998248050905759166?l=error404blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://error404blog.blogspot.com/feeds/8998248050905759166/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://error404blog.blogspot.com/2011/06/log4j-y-spring.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/8998248050905759166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/8998248050905759166'/><link rel='alternate' type='text/html' href='http://error404blog.blogspot.com/2011/06/log4j-y-spring.html' title='Log4j y Spring'/><author><name>Juan Luis</name><uri>http://www.blogger.com/profile/11293523079160694675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8793303911419809304.post-4977044512964819281</id><published>2011-06-10T09:14:00.000-07:00</published><updated>2011-06-23T11:05:16.596-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Web Tooklit'/><title type='text'>Tutorial: Primeros pasos con gwt</title><content type='html'>&lt;meta content='gwt, google web toolkit' name='keywords'/&gt;&lt;br /&gt;&lt;meta content='Primeros pasos gwt' name='description'/&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/-qU3-dxZCZzs/TfZyWds7_lI/AAAAAAAAABs/67371zIi_Kc/s1600/arbol.PNG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como bien dice el titulo, hoy vamos a dar nuestros primeros pasos con gwt (Google Web Toolkit).&lt;div&gt;Para realizar este pequeño tutorial he utilizado Eclipse Helios, Maven 2.2.1 y Gwt 2.1.1.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El eclipse lo podeis descargar de: &lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-jee-helios-SR2-win32.zip"&gt;http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-jee-helios-SR2-win32.zip&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maven: &lt;a href="http://maven.apache.org/download.html"&gt;http://maven.apache.org/download.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;y las librerías necesarias de gwt no hará falta por ahora que nos las descarguemos ya que esto lo hará maven por nosotros cuando lo hayamos configurado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En eclipse, creamos un nuevo proyecto maven. (Para poder hacer esto necesitamos tener configurado maven en eclipse. Ver: Tutorial instalar maven en eclipse).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Seleccionamos donde queremos crear nuestro proyecto y damos a siguiente. En la siguiente pantalla nos pregunta que arquetipo queremos utilizar. Yo he utilizado el arquetipo &lt;i&gt;maven-archetype-webapp (&lt;/i&gt;si os cuesta encontrarlo introducir webapp en el filtro y os aparecerá).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-xNJsWubqnyU/TbK3VbDSLRI/AAAAAAAAABM/HmzNlCEe8Hk/s1600/crearProyectoMaven.PNG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://4.bp.blogspot.com/-xNJsWubqnyU/TbK3VbDSLRI/AAAAAAAAABM/HmzNlCEe8Hk/s320/crearProyectoMaven.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5598738865441615122" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 244px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Damos siguiente. Ahora introducimos el group-id y el artifact-id.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://3.bp.blogspot.com/-2dEscadUwBY/TbK3wUaxrNI/AAAAAAAAABc/NZI1QAlkTiU/s400/crearProyectoMaven2.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5598739327517568210" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 305px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Pulsamos finalizar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ya hemos creado el proyecto. Ahora debido a que el arquetipo no nos genera una carpeta donde colocar nuestros fuentes, tenemos que hacerlo nosotros. Nos vamos a la ruta donde hemos creado el proyecto y creamos una carpeta llamada &lt;i&gt;java &lt;/i&gt;dentro de &lt;i&gt;src/main&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;Cuando lo hayamos hecho, abrimos una consola y nos vamos a la ruta donde esta nuestro proyecto, donde esta el fichero pom.xml y ejecutamos mvn eclipse:eclipse.&lt;/div&gt;&lt;div&gt;Con este comando generaremos de nuevo la estructura necesaria para que sea un proyecto de eclipse y nos coja los cambios que hemos hecho, es decir el nuevo directorio que hemos creado.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cuando este ya todo esto hecho, ya podemos empezar a programar para crear una aplicación con gwt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Creamos las siguientes clases y ficheros.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En src/main/java creamos el paquete com.example.helloworld.gwt.&lt;/div&gt;&lt;div&gt;En este paquete creamos el xml com_example_helloworld_gwt.gwt.xml que contendrá la configuración de gwt.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;?&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;xml&lt;/span&gt; &lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;="1.0" &lt;span style='color:#7f0055; '&gt;encoding&lt;/span&gt;=&lt;span style='color:#2a00ff; '&gt;"UTF-8"&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;?&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;module&lt;/span&gt; rename-to=&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;com_example_helloworld_gwt&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#3f7f59; '&gt;&amp;lt;!--&lt;/span&gt;&lt;span style='color:#3f7f59; '&gt; Inherit the core Web Toolkit stuff.  &lt;/span&gt;&lt;span style='color:#3f7f59; '&gt;--&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;inherits&lt;/span&gt; name=&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;com.google.gwt.user.User&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;inherits&lt;/span&gt; name=&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;com.google.gwt.user.theme.standard.Standard&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;/&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style='color:#3f7f59; '&gt;&amp;lt;!--&lt;/span&gt;&lt;span style='color:#3f7f59; '&gt; Specify the app entry point class.  &lt;/span&gt;&lt;span style='color:#3f7f59; '&gt;--&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;entry-point&lt;/span&gt; class=&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;com.example.helloworld.gwt.client.HelloWorldEntryPoint&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;'&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;/&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;module&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;Dentro de com.example.helloworld.gwt.client creamos la clase que será nuestro entrypoint y la llamamos HelloWorldEntryPoint&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;package&lt;/span&gt;&lt;span style='color:#7f0055; '&gt; com&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;example&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;helloworld&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;client&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;import&lt;/span&gt;&lt;span style='color:#7f0055; '&gt; com&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;google&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;core&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;client&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;EntryPoint&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;import&lt;/span&gt;&lt;span style='color:#7f0055; '&gt; com&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;google&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;user&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;client&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;ui&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;Label&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;import&lt;/span&gt;&lt;span style='color:#7f0055; '&gt; com&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;google&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;user&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;client&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;ui&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;.&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;RootPanel&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;class&lt;/span&gt; HelloWorldEntryPoint &lt;span style='color:#7f0055; font-weight:bold; '&gt;implements&lt;/span&gt; EntryPoint {&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;void&lt;/span&gt; onModuleLoad() {&lt;br /&gt;        &lt;span style='color:#7f0055; font-weight:bold; '&gt;Label&lt;/span&gt; label = &lt;span style='color:#7f0055; font-weight:bold; '&gt;new&lt;/span&gt; &lt;span style='color:#7f0055; font-weight:bold; '&gt;Label&lt;/span&gt;(&lt;span style='color:#2a00ff; '&gt;"Hello world!!!!!"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;        RootPanel.get().add(label);&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Creamos en el mismo directorio donde tenemos el fichero index.jsp, un  fichero index.html que será nuestro html de entrada a la aplicación. En este html importaremos nuestro widget de gwt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El contenido del html es :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;html&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;head&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;meta&lt;/span&gt; http-equiv=&lt;span style='color:#2a00ff; '&gt;"content-type"&lt;/span&gt; content=&lt;span style='color:#2a00ff; '&gt;"text/html; charset=UTF-8"&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;     &lt;br /&gt;     &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;title&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;Mi primera aplicacion gwt&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;title&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;script type="text/javascript" language="&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;javascript&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;" src="com_example_helloworld_gwt/com_example_helloworld_gwt.nocache.js"&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;script&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;head&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;body&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;     &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;iframe&lt;/span&gt; src=&lt;span style='color:#2a00ff; '&gt;"javascript:''"&lt;/span&gt; id=&lt;span style='color:#2a00ff; '&gt;"__gwt_historyFrame"&lt;/span&gt; tabIndex=&lt;span style='color:#2a00ff; '&gt;'-1'&lt;/span&gt; style=&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;position&lt;/span&gt;:absolute;&lt;span style='color:#7f0055; font-weight:bold; '&gt;width&lt;/span&gt;:0;&lt;span style='color:#7f0055; font-weight:bold; '&gt;height&lt;/span&gt;:0;&lt;span style='color:#7f0055; font-weight:bold; '&gt;border&lt;/span&gt;:0&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;iframe&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;     &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;h1&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;Mi primera aplicacion gwt&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;h1&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;   &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;body&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;html&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Con estos cambios nuestro proyecto debería quedar así:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://1.bp.blogspot.com/-qU3-dxZCZzs/TfZyWds7_lI/AAAAAAAAABs/67371zIi_Kc/s400/arbol.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5617803315447070290" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 367px; height: 365px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;El contenido del fichero pom.xml es el siguiente:&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;project&lt;/span&gt; xmlns=&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;http&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;:&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;//&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;maven.apache.org&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;/POM/4.0.0&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt; xmlns:xsi=&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;http&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;:&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;//&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;www.w3.org&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;/2001/XMLSchema-instance&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;br /&gt;    xsi:schemaLocation=&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;http&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;:&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;//&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;maven.apache.org&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;/POM/4.0.0&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt; &lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;http&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;:&lt;/span&gt;&lt;span style='color:#7f0055; font-weight:bold; '&gt;//&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;maven.apache.org&lt;/span&gt;&lt;span style='color:#3f3fbf; '&gt;/maven-v4_0_0.xsd&lt;/span&gt;&lt;span style='color:#2a00ff; '&gt;"&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;modelVersion&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;4.0.0&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;modelVersion&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;com.dia.example&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;HelloWorld&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;packaging&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;war&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;packaging&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;0.0.1-SNAPSHOT&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;name&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;HelloWorld Maven Webapp&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;name&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;url&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;http://maven.apache.org&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;url&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependencies&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;junit&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;junit&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;3.8.1&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;scope&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;test&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;scope&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;com.google.gwt&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;gwt-servlet&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${gwt.version}&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;com.google.gwt&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;gwt-user&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${gwt.version}&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;br /&gt;    &lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;com.google.code.gwt-dnd&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;gwt-dnd&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.5.6&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;com.google.gwt&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;gwt-incubator&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;20101117&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependency&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;dependencies&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;build&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;finalName&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;HelloWorld&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;finalName&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugins&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;org.apache.maven.plugins&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;maven-surefire-plugin&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.4.2&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;argLine&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;-Xms256m -Xmx512m&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;argLine&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;maven-clean-plugin&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;failOnError&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;false&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;failOnError&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;filesets&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;fileset&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#3f7f59; '&gt;&amp;lt;!--&lt;/span&gt;&lt;span style='color:#3f7f59; '&gt; clean up files from war:inplace &lt;/span&gt;&lt;span style='color:#3f7f59; '&gt;--&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;directory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;war&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;directory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;includes&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;include&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;WEB-INF/classes/**&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;include&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;include&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;WEB-INF/lib/**&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;include&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;includes&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;followSymlinks&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;false&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;followSymlinks&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;fileset&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;filesets&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;maven-compiler-plugin&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.0.2&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;encoding&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;utf-8&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;encoding&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;source&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;1.5&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;source&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;target&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;1.5&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;target&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;showDeprecation&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;showDeprecation&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;showWarnings&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;showWarnings&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;org.codehaus.mojo&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;gwt-maven-plugin&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.1.0-1&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;disableCastChecking&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;disableCastChecking&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;disableClassMetadata&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;disableClassMetadata&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;runTarget&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;/index.html&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;runTarget&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;webappDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${basedir}/war&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;webappDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;compileReport&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;false&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;compileReport&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;extraJvmArgs&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;-Xms512m -Xmx512m&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;extraJvmArgs&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;hostedWebapp&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${basedir}/war&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;hostedWebapp&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwtSdkFirstInClasspath&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwtSdkFirstInClasspath&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;force&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;true&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;force&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;executions&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;execution&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goals&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goal&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;compile&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goal&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goal&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;test&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goal&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;goals&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;execution&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;executions&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#3f7f59; '&gt;&amp;lt;!--&lt;/span&gt;&lt;span style='color:#3f7f59; '&gt; plugin war &lt;/span&gt;&lt;span style='color:#3f7f59; '&gt;--&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;org.apache.maven.plugins&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;groupId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;maven-war-plugin&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;artifactId&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.1-alpha-2&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;warSourceDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${basedir}/src/main/webapp&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;warSourceDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;webappDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${basedir}/war&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;webappDirectory&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;warName&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;${artifactId}&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;warName&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;configuration&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugin&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;plugins&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;build&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;properties&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#7f0055; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt.version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;2.1.1&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;gwt.version&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;properties&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#7f0055; '&gt;&amp;lt;/&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;project&lt;/span&gt;&lt;span style='color:#7f0055; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Con esto ya tenemos concluido nuestro primer proyecto con gwt. Solo nos falta ejecutar, para ellos ejecutamos las tareas war:exploded y gwt:debug y cuando ya tengamos levantado el listener en el puerto 8000 ejecutamos un "Remote java Application" de eclipse para que la aplicación acabe de levantarse.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Abrimos una ventana del navegador e introducimos en la barra de direcciones la url :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997"&gt;http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nos saldrá el mensaje de Hello world!!! que hemos introducido en el entrypoint HelloWorldEntryPoint.java  como un label.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Os dejo el código del proyecto en el subversión para que todos lo podáis descargar y probar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;https://error404blog.googlecode.com/svn/trunk/primerosPasosGWT&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8793303911419809304-4977044512964819281?l=error404blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://error404blog.blogspot.com/feeds/4977044512964819281/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://error404blog.blogspot.com/2011/04/tutorial-primeros-pasos-con-gwt.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/4977044512964819281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/4977044512964819281'/><link rel='alternate' type='text/html' href='http://error404blog.blogspot.com/2011/04/tutorial-primeros-pasos-con-gwt.html' title='Tutorial: Primeros pasos con gwt'/><author><name>Raúl Requero</name><uri>http://www.blogger.com/profile/01829671671087690632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-xNJsWubqnyU/TbK3VbDSLRI/AAAAAAAAABM/HmzNlCEe8Hk/s72-c/crearProyectoMaven.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8793303911419809304.post-1293168581332995435</id><published>2011-04-30T03:24:00.001-07:00</published><updated>2011-06-23T11:04:17.978-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ant'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><title type='text'>Ant y Maven</title><content type='html'>&lt;meta content='maven, ant' name='keywords'/&gt;&lt;br /&gt;&lt;meta content='Maven y ant diferencias' name='description'/&gt;&lt;br /&gt;&lt;br /&gt;Dado que un proyecto se comienza por los cimientos, nuestro primer post del blog es una breve reseña sobre 2 de las más importantes herramientas de gestión de proyectos y sus principales diferencias: &lt;b&gt;&lt;h3&gt;Maven y Ant&lt;/h3&gt;&lt;/b&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/-joIDGE6U0Hs/TbwBn2MgyNI/AAAAAAAAAAY/kh4xBxAuwMc/s320/ant.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5601353820616575186" style="text-align: center; float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 105px; height: 65px; " /&gt;&lt;a href="http://1.bp.blogspot.com/-GEn2azAnQ3U/TbwBdsOQYtI/AAAAAAAAAAQ/EKP8sUPeSB4/s1600/maven.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://1.bp.blogspot.com/-GEn2azAnQ3U/TbwBdsOQYtI/AAAAAAAAAAQ/EKP8sUPeSB4/s320/maven.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5601353646140842706" style="text-align: center; float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 320px; height: 73px; " /&gt;&lt;/a&gt;&lt;div style="text-align: center; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maven es una herramienta muy útil y muy similar a Ant, pero requiere para su utilización un menor grado de conocimiento. Sobre por qué herramienta decantarse, si Ant o Maven, en los diferentes proyectos habrá muchas opiniones, pero básicamente queremos que la herramienta nos ofrezca:&lt;div&gt;&lt;ul&gt;&lt;li&gt;Reducir costes de desarrollo&lt;/li&gt;&lt;li&gt;Permitir a los desarrolladores centrarse en lo importante, es decir, en el negocio.&lt;/li&gt;&lt;li&gt;Agilizar tiempos&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ant y Maven son dos herramientas muy potentes y muy extendidas. Las principales &lt;b&gt;diferencias&lt;/b&gt; son:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Ant no tiene &lt;b&gt;convenciones formales&lt;/b&gt;, al contrario que Maven, como una estructura de directorios estándar.&lt;/li&gt;&lt;li&gt;Ant es &lt;b&gt;procedural&lt;/b&gt;, es necesario indicar qué hacer y cuándo hacerlo. Maven es &lt;b&gt;declarativo&lt;/b&gt;, simplemente con crear un fichero pom.xml y dejar tu código fuente en el directorio por defecto de Maven es suficiente. Maven se ocupa del resto.&lt;/li&gt;&lt;li&gt;Ant se basa en objetivos y una secuencia de tareas. Maven tiene un &lt;b&gt;ciclo de vida&lt;/b&gt; definido, en el que con una llamada a un comando ejecutaremos todos sus pasos al instante.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La decisión entre una u otra herramienta no es simple; si un proyecto tiene demasiados procesos personalizados Ant puede ser una buena alternativa ya que es muy flexible. No obstante Maven ofrece la posibilidad de ejecutar scripts Ant. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El principal objetivo de Maven no es predominar en su uso sobre Ant. Maven fue creado con el objetivo de estandarizar el desarrollo de software, a fin de seguir el principio de la Convención sobre Configuración (CoC).  Por ello, no es recomendable salirse de las convenciones que ofrece Maven.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por todo lo comentado es muy recomendable utilizar Maven para proyectos nuevos, aunque Ant hoy en día sigue siendo una herramienta muy útil, ya que no todos los proyectos existentes son adaptables a Maven, o su migración sería muy costosa, algo totalmente indeseable &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8793303911419809304-1293168581332995435?l=error404blog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://error404blog.blogspot.com/feeds/1293168581332995435/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://error404blog.blogspot.com/2011/04/apache-maven-primeros-pasos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/1293168581332995435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8793303911419809304/posts/default/1293168581332995435'/><link rel='alternate' type='text/html' href='http://error404blog.blogspot.com/2011/04/apache-maven-primeros-pasos.html' title='Ant y Maven'/><author><name>Juan Luis</name><uri>http://www.blogger.com/profile/11293523079160694675</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-joIDGE6U0Hs/TbwBn2MgyNI/AAAAAAAAAAY/kh4xBxAuwMc/s72-c/ant.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
