anchor.diff:  image::https://raw.githubusercontent.com/lametaweb/lametaweb.github.io/master/images/003/post003-fig120.png[]
   
   Pulso el botón _Apply_ y a continuación _Close_ para guardar la nueva configuración de ejecución. Añadimos de paso otro perfil igual que el anterior 
  -pero en vez de con _ clean install_ esta vez escribimos `clean build`. Miro la pestaña _Servers_ para asegurarme de que el servidor está arrancado. Pulso botón derecho sobre proyecto y _Run As > Maven build_ para que se muestre otro menú con las configuraciones personalizadas de arranque y selecciono mi configuracion _clean install_.
  +pero en vez de con _ clean install_ esta vez escribimos `clean build`. Miro la pestaña _Servers_ para asegurarme de que el servidor está arrancado. Pulso botón derecho sobre proyecto y _Run As > Maven build_ para que se muestre otro menú con las configuraciones personalizadas de arranque y selecciono mi configuración _clean install_.
   
   image::https://raw.githubusercontent.com/lametaweb/lametaweb.github.io/master/images/003/post003-fig125.png[]
   
  
positive.code: 
  * En el ciclo clean todos los elementos generados en la carpeta target por Maven se eliminan. Esto es necesario para asegurar que las modificaciones realizadas en nuestra aplicación se hagan efectivas en el artefacto war generado.
  * En el ciclo por defecto se ejecutan hasta 23 fases en orden. Veamos lo más relevante:
  	** compile: las clases son compiladas.
  	** test: Ejecuta los tests unitarios. Esto no queremos que se haga de momento y lo anulamos configurando el plugin maven-surefire-plugin en el fichero pom.xml en la sección build, que configura las acciones ejecutadas en cada fase del ciclo de construcción.
  	** package: Se generera el archivo war en la carpeta target. Si abrimos la carpeta desde windows, en mi caso en la carpeta _C:\TALLER\workspace\jdrone\target\_ podremos ver el artefacto war generado.
  	** install: Copia el artefacto jdrone.war en el repositorio local en la ruta _C:\Users\Javier\.m2\repository\com\lametaweb\javaee\jdrone\0.0.1-SNAPSHOT\jdrone-0.0.1-SNAPSHOT.war_, esto es útil cuando se trata de librerías ya que permite que el artefacto sea usado como dependencia en cualquier otro proyecto. El nombre nos está diciendo que se trata de la primera versión y que es una snapshot es decir una versión de desarrollo que no está destinada a producción como ocurre en el caso de una release.
  
  Llegamos al esperado momento. Para comprobar que la aplicación y los recursos de que depende se han desplegado correctamente en el servidor navegamos a la aplicación desde nuestro browser escribiendo la URL `http://localhost:8080/jdrone`. Y si todo ha ido bien se mostrará el mensaje "Hola mundo!" en pantalla.
  
  En el siguiente post añadiremos el managed bean y el contenido final a la página index.xhtml. Hasta muy pronto!
  
  
negative.code: 
  * La entrada DOCTYPE es siempre la primera línea en una página HTML y por tanto también en una página JSF. En este caso se acompaña de la referencia al DTD que contiene las reglas para los documentos HTML 4.01. Para una página HTML 5 se simplifica a <!DOCTYPE html> ya que no hay validación contra un DTD.
  
  . La segunda línea se corresponde con el elemento raíz de una página HTML y representa el documento completo. En este elemento se declaran los espacios de nombres que vayamos a usar dentro de la página. Los espacios de nombres dentro de un fichero XML tienen la misión de evitar posibles conflictos de nombres anteponiendo al nombre de la etiqueta un prefijo seguido por el carácter dos puntos. Por ejemplo los elementos del core de JSF van precedidos por la cadena _f:_.
  
  . Dentro del elemento HTML aparecen como es usual los dos elementos cabecera y cuerpo. Ahora simplemente escribiremos la cadena `Hola mundo!` dentro del elemento body. Pulsamos Ctrl + S para guardar los cambios.
  
  Antes de ejecutar el ciclo de vida de construcción de nuestro proyecto abrimos el fichero pom.xml y añadimos la línea:
  
  