Icefaces, JBoss, Maven2 y
EJB3: Parte 1.
Voy a realizar una serie de
tutoriales encadenados, que pretenden obtener un arquetipo de
proyecto con las siguientes características:
-
IDE: Eclipse 3.1.1
-
Ciclo de vida del proyecto:
Maven2. (usaré el plugin m2eclipse para gestionar maven2 y
eclipse) -
Parte de la Vista /
Controlador: usaré JSF RI (incluida en JBoss) y icefaces -
Parte del Modelo: EJB 3.0
-
Servidor de aplicaciones:
JBoss 4.2.2 -
Base de datos: MySQL
En esta primera parte, nuestro
objetivo será crear la estructura de proyectos en eclipse,
crear los ficheros pom.xml de cada uno de ellos con las dependencias
para empezar a trabajar.
-
Creando estructura de
proyecto en eclipse:Existen
ya algunos tutoriales de Alejandro Pérez explicando como
llevar a cabo esta tarea para que Eclipse y Maven2 puedan superar
sus diferencias:https://adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=mavenRelease
Básicamente,
lo que vamos a hacer:
-
Crearemos
un proyecto de propósito general y lo denominaremos ‘Padre’. -
Crearemos
un proyecto EJB y lo denominaremos ‘Modelo’ -
Crearemos
un proyecto web dinámico (Dynamic Web Project) y lo
denominaremos ‘Web’ -
Borraremos
los proyectos ‘Modelo’ y ‘Web’ (¡OJO!, NO borraremos
su contenido.) -
Usando
el explorador de archivos de tu Sistema Operativo favorito,
moveremos ambos proyectos (‘Web’ y ‘Modelo’) dentro de
‘Padre’ -
Importaremos
los proyectos ‘Web’ y ‘Modelo’ desde Eclipse: File –
Import:
Nos
habrá quedado una estructura como muestra la imagen:
-
Creando los ficheros
pom.xml
Empezaremos
por el proyecto Padre, que será el que englobe a todos los
módulos. En la raíz del proyecto, crearemos un fichero
pom.xml:
4.0.0 com.autentia.tutoriales.icefaces Padre 1.0-SNAPSHOT pom Padre Este proyecto es el padre de todas los módulos. Mantiene configuraciones comunes. Web Modelo java-net java-net http://download.java.net/maven/2 java.net http://download.java.net/maven/1 legacy jboss http://repository.jboss.com/maven2/ junit junit 3.8.1 test log4j log4j 1.2.14 provided commons-logging commons-logging 1.1
A
continuación, crearemos el del proyecto Modelo:
4.0.0 com.autentia.tutoriales.icefaces Padre 1.0-SNAPSHOT com.autentia.tutoriales.icefaces Modelo 1.0-SNAPSHOT ejb Modelo Módulo encargado del modelo de negocio y de la persistencia de la aplicación. Desarrollado con EJB 3.0. maven-ejb-plugin 3.0 true javax.persistence persistence-api 1.0 provided javax.transaction jta 1.0.1B provided javax.activation activation 1.1 compile javax.ejb ejb-api 3.0 provided jboss jboss-ejb-api 4.2.0.GA provided
Por
último, crearemos el pom.xml para la parte Web:
4.0.0 com.autentia.tutoriales.icefaces Padre 1.0-SNAPSHOT com.autentia.tutoriales.icefaces Web 1.0-SNAPSHOT war Web Módulo encargado de la vista y el control. JSF RI e Icefaces javax.servlet servlet-api 2.5 provided javax.servlet.jsp jsp-api 2.1 provided javax.servlet jstl 1.1.2 taglibs standard 1.1.2 javax.el el-api 1.0 provided javax.faces jsf-api 1.2_04-p01 provided javax.faces jsf-impl 1.2_04-p01 provided org.icefaces icefaces 1.6.1 org.icefaces icefaces-comps 1.6.1 org.icefaces icefaces-facelets 1.6.1 backport-util-concurrent backport-util-concurrent 3.1
-
Usar el plugin
m2Eclipse para gestionar los proyectos.Configuraremos
los tres proyectos para que sean gestionados por el plugin
m2Eclipse: Si no lo tenéis, está explicado en:
http://m2eclipse.codehaus.org/
Con
esto acabamos la primera parte. En el próximo tutorial,
configuraremos correctamente la parte del módulo Web para
realizar un primer ejemplo.