icono_twiter icono LinkedIn
Juan Alonso Ramos

Consultor tecnológico de desarrollo de proyectos informáticos.

Ingeniero en Informática, especialidad en Ingeniería del Software

Puedes encontrarme en Autentia: Ofrecemos de servicios soporte a desarrollo, factoría y formación

Somos expertos en Java/J2EE

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2009-09-21

Tutorial visitado 53.442 veces Descargar en PDF
Primeros pasos con JBoss Seam

Primeros pasos con JBoss Seam


Índice de contenidos.

1. Introducción

Este tutorial pretende ser una guía introductoria al Framework JBoss Seam utilizando el seam-gen. El seam-gen es una utilidad que trae JBoss Seam para crear el código fuente de la aplicación con el único requisito de tener una base de datos del que sacar la lógica de negocio en base al modelo de datos especificado. El proceso de creación no puede ser más sencillo, nos irá preguntando el nombre del proyecto, ubicación del servidor de aplicaciones, la base de datos que queremos utilizar, nombres de paquetes, empaquetamiento del proyecto (ear/war), etc. Con esto generará la aplicación que nos servirá de base para continuar desarrollando la lógica de negocio y demás funcionalidades del proyecto. Iremos viendo los pasos necesarios para crear una aplicación web de una sencilla biblioteca.

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Acer Aspire 5920G (Core Duo T8300 2.4GHz, 3GB RAM, 320 GB HD).
  • Sistema operativo: Windows Vista
  • JBoss Seam 2.2.0.GA
  • JBoss AS 5.1.0.GA
  • JDK 1.6
  • Apache Ant 1.7.1

3. Configuración del proyecto (seam setup)

Lo primero será descargarnos el framework JBoss Seam. Para ello vamos a la web oficial y bajamos el zip. Pinchar aquí

La instalación es sencilla, basta con descomprimir el zip en un directorio, por ejemplo en D:\Desarrollo\jboss-seam-2.2.0.GA

También debemos tener instalado el servidor de aplicaciones JBoss AS. Para ello lo descargamos de la web desde aquí. La instalación al igual que de Seam es tan sencilla como descomprimir el zip, por ejemplo D:\Servidores\jboss-5.1.0.GA

Sólo nos queda ejecutar el script de creación de las propiedades del proyecto localizado en la raíz del proyecto, llamado setup. Para ello abrimos una consola y escribimos seam setup. En este punto es necesario que esté instalado Apache Ant. A continuación Seam nos irá preguntando por una serie de propiedades que se necesitan para crear la estructura del proyecto y que debemos ir configurando.

  • Ubicación del proyecto: D:\Proyectos\tutoriales\
  • Ubicación del servidor JBoss: D:\Servidores\jboss-5.1.0.GA
  • Dominio utilizado del servidor JBoss: default
  • Ubicación del servidor Glassfish: D:\Servidores\Sun\AppServer\AppServer
  • Dominio utilizado del servidor Glassfish: domain1
  • Nombre del proyecto: biblioteca
  • ¿Usar ICEFaces en lugar de RichFaces?: n
  • Skin utilizado: ruby
  • Empaquetamiendo del proyecto (ear/war): ear
  • Nombre del paquete baes: com.autentia.tutoriales
  • Nombre del paquete de los beans de sesión: com.autentia.tutoriales.action
  • Nombre del paquete de los beans de entidad: com.autentia.tutoriales.entity
  • Nombre del paquete de las clases de test: com.autentia.tutoriales.test
  • Base de datos utilizada: mysql
  • Directorio al driver de mysql: D:\Drivers\mysql-connector-java-5.1.8-bin.jar
  • Dialecto de Hibernate: org.hibernate.dialect.MySQLDialect
  • Clase del Driver JDBC para MySQL: com.mysql.jdbc.Driver
  • Clase del Datasource JDBC para MySQL: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
  • URL de conexión a la base de datos: jdbc:mysql://localhost:3306/biblioteca
  • Usuario de la base de datos: biblioteca
  • Password de la base de datos: *****
  • Nombre de la base de datos: -
  • ¿Usar todas las tablas que están en la base de datos?: y
  • ¿Borrar la base de datos en cada despliegue?: n

Si todo ha ido bien saldrá la siguiente traza:

También se habrá generado un build.properties en D:\Desarrollo\jboss-seam-2.2.0.GA\seam-gen para que con una tarea de Ant se genere todo el proyecto

Antes de ejecutar el script de creación del proyecto necesitamos tener una base de datos de donde Seam pueda sacar la estructura necesaria. La base de datos de la biblioteca que vamos a crear es muy sencilla, tendrá tres tablas (libro, autor y reserva). El script de creación de la base de datos y las tablas es el siguiente:

4. Generando la estructura del proyecto (seam new-project)

Ya estamos en disposición de crear nuestro proyecto de biblioteca. Para ello desde la consola invocamos la tarea de ant seam new-project que crea el proyecto en base a las propiedades configuradas anteriormente.

Los fuentes generados estarán en el directorio que le indicamos en el paso anterior, D:\Proyectos\tutoriales\biblioteca

Como se puede ver nos ha creado los ficheros de configuración de Eclipse (.classpath y .project) y también de Netbeans (carpeta nbproject) para que podamos abrir el proyecto en nuestro IDE favorito.

Si navegamos por la estructura de directorios que nos ha creado vemos algunas clases interesantes, por ejemplo las clases Authenticator y AuthenticatorBean dentro del directorio src\main\com\autentia\tutoriales\entity para securizar nuestra biblioteca y que únicamente puedan acceder usuarios autorizados. Por defecto añade el siguiente código:

5. Generando la funcionalidad del proyecto

Ahora vamos a crear las entidades de nuestro modelo y la lógica de negocio para las operaciones CRUD (alta, baja, modificación y listado) de las entidades a partir de las tablas de la base de datos. Para ello ejecutamos la tarea de ant seam generate-entities

Esta tarea genera el código de las entidades Libro, Usuario y Reserva y los componentes Seam que se encargarán de la lógica de negocio.

Por otro lado crea toda la parte web, pantalla de login, página de inicio de la aplicación, menú de navegación, páginas de creación y listado de cada entidad, reglas de navegación, configuración de componentes, seguridad, etc.

6. Despliegue del proyecto

Con lo que ya tenemos podemos desplegar la aplicación en un servidor de aplicaciones (recordar que dijimos en la configuración del proyecto que queríamos empaquetar la aplicación como un ear). En nuestro caso utilizaremos JBoss ya que los fuentes generados están preparados para este servidor aunque si queremos desplegar en Glassfish no habría problema, se incluye un script de Ant (glassfish-build.xml), que lo permite.

Gracias al build.xml que se encuentra en el raíz del proyecto, el despliegue se reduce a ejecutar la tarea deploy. Podemos ejecutarla a través de Netbeans (o Eclipse) o bien desde la consola ejecutanto ant deploy

La tarea deploy se encarga de compilar el proyecto, empaquetarlo como un ear y echarlo al directorio deploy del servidor JBoss. También copiará el datasource necesario para la conexión a la base de datos.

7. Probando la aplicación

Antes de arrancar el servidor será necesario copiar el driver MySQL al directorio server/default/lib de JBoss. Para arrancar ejecutamos el script D:\Servidores\jboss-5.1.0.GA\bin\run.bat y entramos en la aplicación mediante http://localhost:8080/biblioteca

Nos logamos en la aplicación pinchando en la opción 'Login' situada en la parte superior derecha. Por defecto Seam configura la seguridad de manera que permite ver los listados sin necesidad de estar logado pero sí que lo requiere para dar de alta, modificar o borrar una entidad. Esta lógicamente podremos configurarlo en función de nuestras necesidades. Observad también que los textos no están están en inglés. Para ponerlos en español basta con crear un messages_es.properties y añadir un nuevo soporte para el idioma español en el faces-config.xml




Ya sólo nos queda probar la aplicación que nos ha generado Seam. Para ello accedemos a las opciones 'Libro List' y 'Socio List' para dar de alta unos cuantos datos con los que probar.

Alta de un libro


Listado de libros


Listado de socios


Realizada un reserva, pestaña libro


Realizada un reserva, pestaña socio



La funcionalidad que se ha generado automáticamente contiene todo lo necesario para realizar login/logout de usuarios, crear, editar, borrar, listar, ordenar los campos del listado, paginación de los resultados, búscador avanzado de cada entidad por cualquiera de sus atributos, etc. Como véis sin escribir ni una sóla línea de código. Únicamente tendríamos que internacionalizar los textos y cambiar los patrones de formateo de fechas ya que están en formato MM/dd/yyyy y tendríamos una aplicación completa eso sí, al gusto de Seam.

Esto puede que no nos cuadre con nuestros requisitos aunque sí que nos sirve para ver cómo montan la arquitectura del proyecto que se centraliza en los componentes anotados con @Name. Por ejemplo para el caso de la entidad Libro, nos ha creado los componentes LibroHome y LibroList. El primero se encarga de la creación de nuevas instancias de tipo Libro extendiendo la clase EntityHome que proprociona la funcionalidad para realizar todas las operaciones necesarias para los CRUD. El segundo componente se encarga de añadir los parámetros de búsqueda de la entidad para listar los libros extendiendo de EntityQuery que ya se encarga de lanzar las queries.

Componente LibroHome

Componente LibroList

Si queremos generar la interfaz con ICEFaces en lugar de Richfaces únicamente tendríamos que cambiar el parámetro 'icefaces=y' dentro del build.properties generado dentro de D:\Desarrollo\jboss-seam-2.2.0.GA\seam-gen\build.properties.

8. Conclusiones.

Como aspecto más importante a destacar de la utilidad seam-gen de JBoss Seam es su facilidad de uso y la flexibilidad que te da, ya que permite configurar el proyecto a nuestro gusto. También es verdad que no aporta todo lo que necesitamos pero es útil para empezar con un proyecto con JBoss Seam desde cero.

Como aspecto negativo está que no nos crea el proyecto para maven, espero que esto lo mejoren en futuras versiones.

Un saludo.

Juan

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2013-05-07-04:50:42

Autor: amadeus_net

POR VACANO
PERO NO SE COMO EJECUTAR EL SEAM SETUP DESDE LA CONSOLA
GRACIAS

Fecha publicación: 2012-08-31-08:02:44

Autor: tecrux

Excelente tutorial, me ayudó bastante! Gracias!

Fecha publicación: 2012-03-30-15:27:07

Autor: juanca87

Buenos días, gracias por el aporte me ha sido muy útil, tengo una pregunta, espero que puedan ayudarme.
He seguido todo los pasos descritos en el tutorial y me muestra correctamente, me gustaría configurar la aplicación para que en vez de ingresar a <code><b>http://miservidor.com/biblioteca/login.seam</b></code> el usuario ingrese directamente a <code><b>http://miservidor.com/</b></code> y se cargue la aplicación.

Alguna idea?

Salu2

Fecha publicación: 2011-01-23-20:27:28

Autor: hosmy007

Buenas tardes... es que tengo en problema.. estoy haciendo los pasos tal cual como estan planteados..
Configure Ant: ANT_HOME, JAVA_HOME, Descargue Jboss_seam y el jboos AS.. Cuando ejecuto el comando seam setup todo queda OK.

pero cuando ejecuto el comando: seam new-project: al parecer todo queda ok..
pero en la carpeta del proyecto -> model.. no quedan las entidades creadas, como si no se conectara a la base de datos ..

estos son mis resultados de ejecucion..

1. seam setup
#Generated by seam setup
#Mon Jan 24 12:39:54 CET 2011
hibernate.connection.password=Hosmy007
workspace.home=D:/tutorialseam
hibernate.connection.dataSource_class=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
model.package=com.raflanco.biblioteca.model
driver.jar=C:Archivos de programaNetBeans 6.9idemodulesextmysql-connector-java-5.1.6-bin.jar
action.package=com.raflanco.biblioteca.action
test.package=com.raflanco.biblioteca.test
database.type=mysql
richfaces.skin=ruby
glassfish.domain=domain1
hibernate.default_catalog.null=
hibernate.default_schema.null=
database.drop=n
project.name=biblioteca
hibernate.connection.username=root
glassfish.home=D:/SOLO JAVA - Y MAS NA/SERVIDORES/glassfish-3.0.1/glassfishv3/
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
jboss.domain=default
project.type=ear
icefaces.home=
database.exists=y
jboss.home=D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA
driver.license.jar=
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.url=jdbc:mysql://localhost:3306/biblioteca
icefaces=n


2: seam new-project

SEAM_HOME: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GA
Using seam-gen sources from: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-gen
Buildfile: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-genbuild.xml

init:

init-properties:
[echo] D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA

validate-workspace:

validate-project:

icefaces-staging-copy:

initcopy:

initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
oot.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseam
oot2.2.0.GA
oot-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespomsparent.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseamparent2.2.0.GAparent-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms

copyseam:

copyseamdependencies:

copyjbossembedded:

copy-icefaces-home:

copy-icefaces-maven:

copy-lib:
[echo] Copying Seam and dependencies to the D:/tutorialseam/biblioteca/lib directory...
[copy] Copying 141 files to D:tutorialseambibliotecalib
[echo] Copying JBoss Embedded configuration to the D:/tutorialseam/biblioteca/bootstrap directory...
[copy] Copying 30 files to D:tutorialseambibliotecabootstrap

file-copy-war:

file-copy-ear:
[echo] Copying build scripts for EAR deployment to the D:/tutorialseam/biblioteca directory...
[copy] Copying 1 file to D:tutorialseambiblioteca
[echo] Copying resources needed for EAR deployment to the D:/tutorialseam/biblioteca/resources directory...

setup-filters:

file-copy:

create-project:
[echo] A new Seam project named 'biblioteca' was created in the D:/tutorialseam directory
[echo] Type 'seam explode' and go to http://localhost:8080/biblioteca
[echo] Eclipse Users: Import the project using File > Import... > Existing Projects into Workspace, set the root directory to D:/tutorialseam, then select the project named biblioteca
[echo] NetBeans Users: Open the project using File > Open project... and select the project folder D:/tutorialseam/biblioteca
[echo] IDEA Users: Open the project using File > Open project... and select the file D:/tutorialseam/biblioteca/biblioteca.ipr

new-project:

BUILD SUCCESSFUL
Total time: 7 seconds
SEAM_HOME: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GA
Using seam-gen sources from: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-gen
Buildfile: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-genbuild.xml

init:

init-properties:
[echo] D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA

validate-workspace:

validate-project:

icefaces-staging-copy:

initcopy:

initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
oot.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseam
oot2.2.0.GA
oot-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespomsparent.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseamparent2.2.0.GAparent-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms

copyseam:

copyseamdependencies:

copyjbossembedded:

copy-icefaces-home:

copy-icefaces-maven:

copy-lib:
[echo] Copying Seam and dependencies to the D:/tutorialseam/biblioteca/lib directory...
[copy] Copying 141 files to D:tutorialseambibliotecalib
[copy] Copied 5 empty directories to 2 empty directories under D:tutorialseambibliotecalib
[echo] Copying JBoss Embedded configuration to the D:/tutorialseam/biblioteca/bootstrap directory...
[copy] Copying 30 files to D:tutorialseambibliotecabootstrap

file-copy-war:

file-copy-ear:
[echo] Copying build scripts for EAR deployment to the D:/tutorialseam/biblioteca directory...
[copy] Copying 2 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[echo] Copying resources needed for EAR deployment to the D:/tutorialseam/biblioteca/resources directory...
[copy] Copying 8 files to D:tutorialseambiblioteca
esources

setup-filters:

file-copy:
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 3 files to D:tutorialseambiblioteca
esources
[copy] Copying 11 files to D:tutorialseambiblioteca
esources
[copy] Copying 4 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca.settings
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[mkdir] Created dir: D:tutorialseambiblioteca
bproject
[copy] Copying 3 files to D:tutorialseambiblioteca
bproject
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 13 files to D:tutorialseambibliotecaview
[copy] Copying 16 files to D:tutorialseambibliotecaview
[copy] Copying 1 file to D:tutorialseambibliotecasrchotcom
aflancobibliotecaaction
[copy] Copying 1 file to D:tutorialseambibliotecasrchotcom
aflancobibliotecaaction
[copy] Copying 3 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[mkdir] Created dir: D:tutorialseambibliotecasrcmaincom
aflancobibliotecamodel
[mkdir] Created dir: D:tutorialseambibliotecasrctestcom
aflancobibliotecatest
[copy] Copying 1 file to D:tutorialseambibliotecasrctest

create-project:
[echo] A new Seam project named 'biblioteca' was created in the D:/tutorialseam directory
[echo] Type 'seam explode' and go to http://localhost:8080/biblioteca
[echo] Eclipse Users: Import the project using File > Import... > Existing Projects into Workspace, set the root directory to D:/tutorialseam, then select the project named biblioteca
[echo] NetBeans Users: Open the project using File > Open project... and select the project folder D:/tutorialseam/biblioteca
[echo] IDEA Users: Open the project using File > Open project... and select the file D:/tutorialseam/biblioteca/biblioteca.ipr

new-project:

BUILD SUCCESSFUL
Total time: 10 seconds



EN ESTA LINEA ME MUESTRA QUE CREA EL DIRECTORIO.
PERO NO VEO QUE COPIE ARCHIVOS A ESE DIR..

[mkdir] Created dir: D:tutorialseambibliotecasrcmaincom
aflancobibliotecamodel

GRACIAS POR LA AYUDA

Fecha publicación: 2011-01-23-20:26:47

Autor: hosmy007

Buenas tardes... es que tengo en problema.. estoy haciendo los pasos tal cual como estan planteados..
Configure Ant: ANT_HOME, JAVA_HOME, Descargue Jboss_seam y el jboos AS.. Cuando ejecuto el comando seam setup todo queda OK.

pero cuando ejecuto el comando: seam new-project: al parecer todo queda ok..
pero en la carpeta del proyecto -> model.. no quedan las entidades creadas, como si no se conectara a la base de datos ..

estos son mis resultados de ejecucion..

1. seam setup
#Generated by seam setup
#Mon Jan 24 12:39:54 CET 2011
hibernate.connection.password=Hosmy007
workspace.home=D:/tutorialseam
hibernate.connection.dataSource_class=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
model.package=com.raflanco.biblioteca.model
driver.jar=C:Archivos de programaNetBeans 6.9idemodulesextmysql-connector-java-5.1.6-bin.jar
action.package=com.raflanco.biblioteca.action
test.package=com.raflanco.biblioteca.test
database.type=mysql
richfaces.skin=ruby
glassfish.domain=domain1
hibernate.default_catalog.null=
hibernate.default_schema.null=
database.drop=n
project.name=biblioteca
hibernate.connection.username=root
glassfish.home=D:/SOLO JAVA - Y MAS NA/SERVIDORES/glassfish-3.0.1/glassfishv3/
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
jboss.domain=default
project.type=ear
icefaces.home=
database.exists=y
jboss.home=D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA
driver.license.jar=
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.url=jdbc:mysql://localhost:3306/biblioteca
icefaces=n


2: seam new-project

SEAM_HOME: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GA
Using seam-gen sources from: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-gen
Buildfile: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-genbuild.xml

init:

init-properties:
[echo] D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA

validate-workspace:

validate-project:

icefaces-staging-copy:

initcopy:

initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
oot.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseam
oot2.2.0.GA
oot-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespomsparent.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseamparent2.2.0.GAparent-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms

copyseam:

copyseamdependencies:

copyjbossembedded:

copy-icefaces-home:

copy-icefaces-maven:

copy-lib:
[echo] Copying Seam and dependencies to the D:/tutorialseam/biblioteca/lib directory...
[copy] Copying 141 files to D:tutorialseambibliotecalib
[echo] Copying JBoss Embedded configuration to the D:/tutorialseam/biblioteca/bootstrap directory...
[copy] Copying 30 files to D:tutorialseambibliotecabootstrap

file-copy-war:

file-copy-ear:
[echo] Copying build scripts for EAR deployment to the D:/tutorialseam/biblioteca directory...
[copy] Copying 1 file to D:tutorialseambiblioteca
[echo] Copying resources needed for EAR deployment to the D:/tutorialseam/biblioteca/resources directory...

setup-filters:

file-copy:

create-project:
[echo] A new Seam project named 'biblioteca' was created in the D:/tutorialseam directory
[echo] Type 'seam explode' and go to http://localhost:8080/biblioteca
[echo] Eclipse Users: Import the project using File > Import... > Existing Projects into Workspace, set the root directory to D:/tutorialseam, then select the project named biblioteca
[echo] NetBeans Users: Open the project using File > Open project... and select the project folder D:/tutorialseam/biblioteca
[echo] IDEA Users: Open the project using File > Open project... and select the file D:/tutorialseam/biblioteca/biblioteca.ipr

new-project:

BUILD SUCCESSFUL
Total time: 7 seconds
SEAM_HOME: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GA
Using seam-gen sources from: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-gen
Buildfile: D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAseam-genbuild.xml

init:

init-properties:
[echo] D:/SOLO JAVA - Y MAS NA/SERVIDORES/JBOSS/jboss-5.1.0.GA

validate-workspace:

validate-project:

icefaces-staging-copy:

initcopy:

initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
oot.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseam
oot2.2.0.GA
oot-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[artifact:install] [INFO] Installing D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespomsparent.pom to C:Documents and SettingsRaflanco.m2
epositoryorgjbossseamparent2.2.0.GAparent-2.2.0.GA.pom
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms
[copy] Copying 1 file to D:SOLO JAVA - Y MAS NASERVIDORESJBOSSjboss-seam-2.2.0.GAclassespoms

copyseam:

copyseamdependencies:

copyjbossembedded:

copy-icefaces-home:

copy-icefaces-maven:

copy-lib:
[echo] Copying Seam and dependencies to the D:/tutorialseam/biblioteca/lib directory...
[copy] Copying 141 files to D:tutorialseambibliotecalib
[copy] Copied 5 empty directories to 2 empty directories under D:tutorialseambibliotecalib
[echo] Copying JBoss Embedded configuration to the D:/tutorialseam/biblioteca/bootstrap directory...
[copy] Copying 30 files to D:tutorialseambibliotecabootstrap

file-copy-war:

file-copy-ear:
[echo] Copying build scripts for EAR deployment to the D:/tutorialseam/biblioteca directory...
[copy] Copying 2 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[echo] Copying resources needed for EAR deployment to the D:/tutorialseam/biblioteca/resources directory...
[copy] Copying 8 files to D:tutorialseambiblioteca
esources

setup-filters:

file-copy:
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 3 files to D:tutorialseambiblioteca
esources
[copy] Copying 11 files to D:tutorialseambiblioteca
esources
[copy] Copying 4 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca.settings
[copy] Copying 1 file to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[mkdir] Created dir: D:tutorialseambiblioteca
bproject
[copy] Copying 3 files to D:tutorialseambiblioteca
bproject
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 1 file to D:tutorialseambiblioteca
esources
[copy] Copying 13 files to D:tutorialseambibliotecaview
[copy] Copying 16 files to D:tutorialseambibliotecaview
[copy] Copying 1 file to D:tutorialseambibliotecasrchotcom
aflancobibliotecaaction
[copy] Copying 1 file to D:tutorialseambibliotecasrchotcom
aflancobibliotecaaction
[copy] Copying 3 files to D:tutorialseambiblioteca
[copy] Copying 1 file to D:tutorialseambiblioteca
[mkdir] Created dir: D:tutorialseambibliotecasrcmaincom
aflancobibliotecamodel
[mkdir] Created dir: D:tutorialseambibliotecasrctestcom
aflancobibliotecatest
[copy] Copying 1 file to D:tutorialseambibliotecasrctest

create-project:
[echo] A new Seam project named 'biblioteca' was created in the D:/tutorialseam directory
[echo] Type 'seam explode' and go to http://localhost:8080/biblioteca
[echo] Eclipse Users: Import the project using File > Import... > Existing Projects into Workspace, set the root directory to D:/tutorialseam, then select the project named biblioteca
[echo] NetBeans Users: Open the project using File > Open project... and select the project folder D:/tutorialseam/biblioteca
[echo] IDEA Users: Open the project using File > Open project... and select the file D:/tutorialseam/biblioteca/biblioteca.ipr

new-project:

BUILD SUCCESSFUL
Total time: 10 seconds



EN ESTA LINEA ME MUESTRA QUE CREA EL DIRECTORIO.
PERO NO VEO QUE COPIE ARCHIVOS A ESE DIR..

[mkdir] Created dir: D:tutorialseambibliotecasrcmaincom
aflancobibliotecamodel

GRACIAS POR LA AYUDA

Fecha publicación: 2010-10-31-01:17:29

Autor: DGMIGUEL

Hola, al ejecuar la tarea seam generate-entities me arroja el siguiente error: es como si no encontrara el driver de mysql y no se porque? podrias indicarme por favor...

C:Archivos de programajboss-seam-2.2.0.GA>seam generate-entities

SEAM_HOME: C:Archivos de programajboss-seam-2.2.0.GA
Using seam-gen sources from: C:Archivos de programajboss-seam-2.2.0.GAseam-gen
Buildfile: C:Archivos de programajboss-seam-2.2.0.GAseam-genbuild.xml

init:

init-properties:
[echo] C:/Archivos de programa/jboss-seam-2.2.0.GA

validate-workspace:

validate-project:

init-generate:

generate-model:
[echo] Reverse engineering database using JDBC driver D:conectoresmysql-connector-java-3.1.10-bin
[echo] project=C:/proyectos-seam/biblioteca
[echo] model=com.autentia.tutoriales.entity
[hibernate] Executing Hibernate Tool with a JDBC Configuration (for reverse engineering)
[hibernate] 1. task: hbm2java (Generates a set of .java files)
[hibernate] log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
[hibernate] log4j:WARN Please initialize the log4j system properly.
[hibernate] An exception occurred while running exporter #2:hbm2java (Generates a set of .java files)
[hibernate] To get the full stack trace run ant with -verbose
[hibernate] org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver
[hibernate] java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[hibernate] A class were not found in the classpath of the Ant task.
[hibernate] Ensure that the classpath contains the classes needed for Hibernate and your code are in the classpath.

BUILD FAILED
C:Archivos de programajboss-seam-2.2.0.GAseam-genbuild.xml:1564: org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver

Total time: 0 seconds

Fecha publicación: 2010-10-20-19:18:25

Autor: chmunozc

Gracias por el tutorial, sin embargo, cuando genero mis entidades para mi propia base de datos que cuenta con una tabla Pago sale el siguiente error:

/PagoList.xhtml: Error reading 'resultList' on type org.domain.seamtestweb.session.PagoList_$$_javassist_seam_6

psabes que puede estar pasando..? gracias

Fecha publicación: 2010-09-07-06:08:30

Autor: fewar

Excelente tutorial. solo que tengo errores y segui al pie de la letra lo que se dice aqui

Fecha publicación: 2010-04-30-22:54:41

Autor: franz123456

utilice el ant gf-explode para realizarlo con glassfish pero me da el siguiente error desearia q me puedan ayudar

gf-explode:
[exec] CLI171 Ha fallado el comando deploy: Implementando la aplicaci¾n en
el dominio ha fallado; No se pudo resolver una unidad persistencia correspondien
te al nombre de referencia de la unidad de persistencia [prueba/pu] del ßmbito d
el m¾dulo llamado []. Compruebe la aplicaci¾n.
[exec]
[exec] CLI171 Ha fallado el comando deploy: Implementando la aplicaci¾n en
el dominio ha fallado; No se pudo resolver una unidad persistencia correspondien
te al nombre de referencia de la unidad de persistencia [prueba/pu] del ßmbito d
el m¾dulo llamado []. Compruebe la aplicaci¾n.
[exec]

Fecha publicación: 2010-04-30-00:35:08

Autor: franz123456

Hola Juan el tutorial me parecio muy bueno ,mi preguntas como haria el deploy en mi servidor Glassfish,tu hablas de glassfish-buil.xml ,quiero que el proyecto me funcione con Glashfish no se si podrias ayudarme en esto por favor.

Fecha publicación: 2009-12-11-08:27:46

Autor: jalonso

En la configuración de las propiedades previa a la generación del código se debe indicar el esquema de base de datos a utilizar, por tanto un único esquema. Supongo que si necesitas generar código para varios esquemas en los cuales hay tablas repetidas, efectivamente se producirán duplicados en los beans anotados con @Name y en ese caso habría que renombrarlos a mano dándole un nombre diferente.

Fecha publicación: 2009-12-10-20:17:26

Autor: mquico

Muy bueno el tutorial pero tengo una duda.
¿Qué ocurre si tenemos varios esquemas en nuestra base de datos con tablas que coinciden en nombre en los distintos esquemas? Al utilizar seam-generate-entities se producirá error porque existen Entity Beans con el mismo nombre.
En ese caso supongo que tendrán que modificar la configuración de seam.
¿Alquien lo ha hecho?
Saludos

Fecha publicación: 2009-11-13-16:06:09

Autor: kristhoppers

Me gustaria poder ser parte del equipo y dar de mis conocimientos tambien. Cada dia aprendemos algo nuevo. Eso es inevitable, nunca dejaremos de aprender. Es por eso que entiendo que es mejor dar que recibir; y Yo prefiero dar de mis conocimientos sin esperar nada a cambio porque se que voy a recibir de lo que doy. Hay una frase que tenemos que tener en cuenta "Lo que uno siembra, eso cosechara". Quiero cosechar conocimiento e informacion vital en el mundo informatico sea del area que sea. Pero ahora quiero enfocarme especificamente al Desarrollo Java. Para eso quiero transmitir lo que se y poder compartir conocimientos con otros desarrolladores como yo. Gracias