Objetivo        
Crear un
proyecto Maven para trabajar con primefaces
1.    
Creación de Proyecto Maven
Abrir eclipse luego crear un nuevo proyecto Maven
utilizando New->Other->Maven
Project. El nombre del proyecto será PrimeProject.
Seleccionamos la opción Create a simple Project
(Skip archetype selection), después hacemos click en el botón Next, nos
aparecerá la siguiente pantalla:
Group Id: cibertec.edu.pe
Artifact Id: PrimeProject
Version: 1.0.0
Packaging: war
Name: PrimeProject
Después de
ingresar estos valores, hacemos click en Finish y empezará a crear el proyecto
Maven.
2.    
Agregar dependencias para Prime Faces
Una dependencia se refiere a las librerías el cual
nuestro proyecto necesitará, para esto necesitaremos agregar las siguientes
dependencias en el archivo pom.xml:
| 
   
       <dependencies> 
             <dependency> 
                    <groupId>com.sun.faces</groupId> 
                    <artifactId>jsf-api</artifactId> 
                    <version>2.1.13</version> 
             </dependency> 
             <dependency> 
                    <groupId>com.sun.faces</groupId> 
                    <artifactId>jsf-impl</artifactId> 
                    <version>2.1.13</version> 
             </dependency> 
             <dependency> 
                    <groupId>javax.servlet</groupId> 
                    <artifactId>jstl</artifactId> 
                    <version>1.2</version> 
             </dependency> 
             <dependency> 
                    <groupId>javax.servlet</groupId> 
                    <artifactId>servlet-api</artifactId> 
                    <version>2.4</version> 
             </dependency> 
             <dependency> 
                    <groupId>org.primefaces</groupId> 
                    <artifactId>primefaces</artifactId> 
                    <version>3.4.1</version> 
             </dependency> 
             <dependency> 
                    <groupId>junit</groupId> 
                    <artifactId>junit</artifactId> 
                    <version>4.7</version> 
                    <scope>test</scope> 
             </dependency> 
       </dependencies> 
 | 
 
Las dependencias
a agregar son jsf-api, jsf-impl, jstl, servlet-api, primefaces y junit. Adicionalmente
se deben considerar los repositorios de donde se obtienen estas librerías,
entre ellos tenemos el repositorio de primefaces, de jsf, etc.
A continuación
se muestra las líneas de repositorios que necesita maven para poder obtener las
librerías necesarias:
| 
   
<repositories> 
             <repository> 
                    <id>maven2-repository.jboss.com</id> 
                    <name>Jboss Repository for Maven</name> 
                    <url>http://repository.jboss.com/maven2</url> 
             </repository> 
             <repository> 
                    <id>prime-repo</id> 
                    <name>Prime Technology Maven
  Repository</name> 
                    <url>http://repository.primefaces.org</url> 
                    <layout>default</layout> 
             </repository> 
             <repository> 
                    <id>maven2-repository.dev.java.net</id> 
                    <name>Java.net Repository for Maven</name> 
                    <url>http://download.java.net/maven/2/</url> 
                    <layout>default</layout> 
             </repository> 
       </repositories> 
 | 
 
Después agregamos el build para que maven pueda
crear build utilizando un nombre y el jdk necesario. A continuación se muestra
las líneas de código:
| 
   
<build> 
       <finalName>PrimeProject</finalName> 
       <plugins> 
             <plugin> 
                    <groupId>org.apache.maven.plugins</groupId> 
                    <artifactId>maven-compiler-plugin</artifactId> 
                    <configuration> 
                           <source>1.5</source> 
                           <target>1.5</target> 
                    </configuration> 
             </plugin> 
       </plugins> 
</build> 
 | 
 
3.    
Creando la estructura del proyecto PrimeFaces
Primero crearemos la carpeta page dentro de la ruta
src/main/webapp. Después dentro de la carpeta WEB-INF crearemos el archivo
web.xml, haciendo click derecho en la carpeta, New->Others->Web Descriptor. Después de crear el archivo,
copiaremos el siguiente código dentro de este archivo:
| 
   
<?xml version="1.0"
  encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
       id="WebApp_ID" version="3.0"> 
       <description>Web PrimeFaces</description> 
       <display-name>web-primefaces</display-name> 
       <context-param> 
             <param-name>javax.faces.CONFIG_FILES</param-name> 
             <param-value>/WEB-INF/config/faces/faces-config.xml</param-value> 
       </context-param> 
       <!-- Project Stage
  Level --> 
       <context-param> 
             <param-name>javax.faces.PROJECT_STAGE</param-name> 
             <param-value>Development</param-value> 
       </context-param> 
       <servlet> 
             <servlet-name>Faces Servlet</servlet-name> 
             <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
             <load-on-startup>1</load-on-startup> 
       </servlet> 
       <servlet-mapping> 
             <servlet-name>Faces Servlet</servlet-name> 
             <url-pattern>*.xhtml</url-pattern> 
       </servlet-mapping> 
       <servlet-mapping> 
             <servlet-name>Faces Servlet</servlet-name> 
             <url-pattern>*.faces</url-pattern> 
       </servlet-mapping> 
       <listener> 
             <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
       </listener> 
       <welcome-file-list> 
             <welcome-file>index.jsp</welcome-file> 
       </welcome-file-list> 
</web-app> 
 | 
 
Después crearemos la carpeta config dentro de la
carpeta WEB-INF y dentro de la carpeta config crearemos la carpeta faces. La
estructura de carpeta debería quedar como se muestra en la siguiente imagen:
Teniendo la estructura completa, ahora crearemos el
archivo faces-config en la carpeta faces haciendo click derecho New->Others-> Faces config. Se
escogerá la versión 2.0 y quitar el check de register in web.xml.
Este archivo de configuración tendrá las siguientes
líneas:
| 
   
<?xml version="1.0"
  encoding="UTF-8"?> 
<faces-config version="2.0"
  xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xi="http://www.w3.org/2001/XInclude" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"> 
 </faces-config> 
 | 
 
4.    
Creando páginas web
Primero crearemos la página inicio.xhtml dentro de
la carpeta page, para esto hacemos click derecho en la carpeta page, New->Other-> XHTML page. La
página creada se le tendrá que agregar las siguientes líneas de código:
| 
   
<html xmlns="http://www.w3.org/1999/xhtml" 
       xmlns:ui="http://java.sun.com/jsf/facelets" 
       xmlns:h="http://java.sun.com/jsf/html" 
       xmlns:f="http://java.sun.com/jsf/core" 
       xmlns:c="http://java.sun.com/jstl/core" 
       xmlns:p="http://primefaces.org/ui"> 
<h:head> 
       <link type="text/css"
  rel="stylesheet" href="themes/bluesky/skin.css" /> 
</h:head> 
<h:body> 
       <h:outputText value="Hola"/> 
</h:body> 
</html> 
 | 
 
Después de crear la página inicio.xhtml,
procederemos a crear la página index.jsp, para esto hacemos click derecho en la
carpeta webapp, New->Other->JSP
File. La página creada viene con código, para lo cual reemplazaremos este
código por el código que se muestra a continuación:
| 
   
<!doctype html public "-//w3c//dtd
  html 4.0 transitional//en"> 
<html> 
<head></head> 
       <body> 
             <jsp:forward page="page/inicio.xhtml"></jsp:forward> 
       </body> 
</html> 
 | 
 


