Translate

jueves, 11 de diciembre de 2014

Problema común con Netbeans 8.0.1, Glassfish 4.1 y SessionScoped CDI 1.1


Un error que se ha estado reportando mucho en los talleres, Hackatones y demás actividades de iniciación a Java EE 7 es el derivado al intentar anotaciones del paquete javax.enterprise cuando se realiza un proyecto en Netbeans  8.01 con Glassfish 4.1. A continuación se detalle el Problema, el efecto y las posibles soluciones:


Ambiente:
Java JDK 1.7.0_45
Netbeans 8.0.1
Glassfish 4.1

Proyecto creado:




La Causa:
https://netbeans.org/bugzilla/show_bug.cgi?id=247013

El Problema:
Cuando se desea utilizar la anotación de CDI 1.1 SessionScoped (habiendo indicado en la creación del proyecto que la biblioteca son dadas por el Servidor, en este caso Glassfish 4.1), Netbeans no resuelve javax.enterprise.context.SessionScoped.



La Solución V1:
Dado que Netbeans solamente reconoce javax.faces.bean.SessionScoped, pero debido a que esa no es la anotación que queremos usar y que el objetivo de este post no es comparar javax.faces.bean.SessionScoped con javax.enterprise.context.SessionScoped, la solución (al momento de escribir este post) es agregar en las propiedades del proyecto la biblioteca referente a JavaEE 7 dado que por alguna razón Netbeans no lo resuelve en Glassfish 4.1.


La Solución V2:
Susitutir Glassfish 4.1 por Glassfish 4.0 e indicar a Netbeans que utilice está anterior versión de GlassFish.

La solución V3:
Crear un proyecto en donde las dependencias sean utilizadas bajo un Project Object Model, en otras palabras: Utilizar Maven. Esta es mi solución cinco estrellas ;).






martes, 9 de diciembre de 2014

Ayudanos a elegir un nombre

Actualmente varios entusiastas, grupos de usuario y bloggers Java estamos colaborando en la creación de un nuevo Congreso Internacional de Tecnologías Java en nuestro idioma español. Ayúdanos a seleccionar el nombre que más consideres representa esa iniciativa.