Java Server Faces con JBoss y Netbeans

Recientemente he estado trabajando con un servidor de aplicaciones nuevo (al menos para mi :D), se trata de jboss, el condecorado servidor de red hat, que aparte de ser un devorador de memoria tiene un no se que, que lo hace ver profesional.

Al grano. Cuando intentaba hacer deploy de una aplicacion que utilizaba JSF comunes me tope con el siguient error:

The specified InjectionProvider implementation ‘org.jboss.web.jsf.integration.injection.JBossDelegatingInjectionProvider’ does not implement the InjectionProvider interface.

Problema: Aunque el problema pareciera otro, todo radica en que jboss trae su propia implementacion de JSF y entra en conflicto con nuestro proyecto en netbeans.

Solución: Deshabilitar la implementacion incluida con jboss, dependiendo el contexto que estemos trabajando abrimos con nuestro editor de texto favorito el archivo de configuracion web.xml, en mi caso estaba trabajando con el contexto default:

nano /opt/5.0.0GA jboss-5.0.0.GA\server\default\deployers\jbossweb.deployer\web.xml

Y borramos o comentamos las siguientes lineas:

<listener>
<listener-class>org.jboss.web.jsf.integration.config.JBossJSFConfigureListener <
/listener-class>
</listener>


<listener>
<listener-class>com.sun.faces.application.WebappLifecycleListener</listener-class>
</listener>

8 respuestas a “Java Server Faces con JBoss y Netbeans”

  1. Firefox 3.0.11 Firefox 3.0.11 Mandriva 2009.1 Mandriva 2009.1
    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009061622 Mandriva/1.9.0.11-0.1mdv2009.1 (2009.1) Firefox/3.0.11

    Excelente ayuda, llevava años tratando de hacer funcionar jboos-icefaces-netbeans, gracias.
    Cualquier ayuda que necesites con icefaces, con mucho gusto

  2. Firefox 3.0.11 Firefox 3.0.11 Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1.2) Gecko/20090729 Firefox/3.0.11;MEGAUPLOAD 1.0 (.NET CLR 3.5.30729)

    Estimado, la solución sirve…. pero para deshabilitar las librerías jsf del servidor se cuenta con la siguiente propiedad:
    «org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL»

    La cual le indica al servidor que no utilise sus librerías al deployar el proyecto.

    Esta variable se setea en el web.xml del proyecto en cuestión, agregandola así:
    »
    org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL
    true
    »

    Cambie el true por false según interese o no usar las librerías jsf que provee el JBoss.

    Saludos

  3. Firefox 3.0.13 Firefox 3.0.13 Ubuntu 9.04 Ubuntu 9.04
    Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13

    @Guillermo Fernandes: Excelente recomendacion, gracias la voy a tomar en cuenta 🙂

  4. Google Chrome 6.0.472.0 Google Chrome 6.0.472.0 Windows XP Windows XP
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.0 Safari/534.3

    Gracias por la ayuda!!!

  5. Google Chrome 6.0.472.63 Google Chrome 6.0.472.63 Windows 7 Windows 7
    Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3

    Buenos días. Compañero es muy excelente la ayuda que has brindado. Comentar esas líneas me sirvió correctamente. Te lo agradezco mucho.

  6. Firefox 3.6.13 Firefox 3.6.13 GNU/Linux GNU/Linux
    Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13

    Hola tengo un problema enorme ya hice lo que me indicas y me da el siguiente error: Espero me puedan ayudar

    java.lang.ClassCastException: org.hibernate.validator.event.ValidateEventListener cannot be cast to org.hibernate.event.PreInsertEventListener
    org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:819)
    dsi.sideco.arq.util.HibernateUtil.(HibernateUtil.java:24)
    dsi.sideco.administracion.dao.LoginDAO.consultar(LoginDAO.java:28)
    dsi.sideco.administracion.bsn.LoginBSN.validar(LoginBSN.java:40)
    dsi.sideco.administracion.form.LoginForm.validaAcceso(LoginForm.java:32)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.apache.el.parser.AstValue.invoke(AstValue.java:170)
    org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    javax.faces.component.UICommand.broadcast(UICommand.java:387)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
    com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCycle(ReceiveSendUpdates.java:132)
    com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:74)
    com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:31)
    com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24)
    com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:16)
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23)
    com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
    com.icesoft.faces.webapp.http.servlet.SessionVerifier.service(SessionVerifier.java:26)
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23)
    com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:131)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:56)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

  7. Safari 5.0.4 Safari 5.0.4 Mac OS X  10.6.7 Mac OS X 10.6.7
    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; es-es) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27

    Yo estoy trabajando con JSF 2.0 y Jboss AS 5.0.1, la solución que aportas parece funcionar pero creo que seria mejor sustituir las versiones de las bibliotecas que incluyen estas clases por las versiones apropiadas para JSF 2.0. si quitas estos listeners parece que ManagedBeans anotados no funcionan. Si eres nuevo con Jboss y vas a usar JSF2 puede que estés mas interesado en utilizar Jboss AS 6 que ya incluye soporte para JSF2. Yo no puedo migrar tan fácil porque tengo ambientes productivos con 5.0.1.

  8. Opera 60.0.3255.170 Opera 60.0.3255.170 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.170

    Buenas Tardes.. una consulta…. ¿como puedo desahibiltar todas las librerías del servidor jboss para que utilice mis librerias añadidas al proyecto.?? gracias…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *