2012-05-28 29 views
11

Quiero actualizar mi aplicación JSF para usar la versión 2.1.8 de Mojarra. Agregué estas líneas en el archivo POM del paquete WAR:Cómo actualizar la versión de Mojarra en GlassFish

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.1.8</version> 
</dependency> 

También agregué el repositorio JSF. El paquete I se compila correctamente con la versión 2.1.8 de Mojarra. Pero cuando abro el registro de GlassFish veo que hay una versión de Mojarra 2.1.6 implementada. ¿Qué me estoy perdiendo? ¿Debo hacer alguna configuración en el servidor GlassFish?

Respuesta

17

GlassFish ya viene con JSF incluido que obtiene por prioridad de carga de clases sobre el paquete en la aplicación web. Básicamente, necesitas decirle a GlassFish que use el JSF incluido en la aplicación web.

Edición de /WEB-INF/glassfish-web.xml (o /WEB-INF/sun-web.xml si está utilizando una de las primeras versiones de GF3) para agregar las siguientes dos entradas del módulo web:

<class-loader delegate="false" /> 
<property name="useBundledJsf" value="true" /> 

GlassFish utilizará entonces la aplicación web JSF incluido en su lugar.

Como alternativa, si tiene control total de administrador sobre GlassFish, también puede copiarlo en el directorio /glassfish/modules, reemplazando la versión anterior, para que se aplique en todas las aplicaciones web.

+0

He resuelto el problema. Descargué JSF 2.l.8 jar y reemplacé el módulo en Glassfish. – user1285928

+0

¿Podría compartir el enlace y/o un identificador experto del artefacto al que se hace referencia con "JSF 2.1.8.jar" ya que la solución anterior no funciona del todo (resuelve algunos problemas, pero quedan algunos) para mí? –

+0

@Karl: [Página de inicio de JSF] (https://javaserverfaces.java.net) -> [Descargar] (https://javaserverfaces.java.net/nonav/2.2/download.html) -> [Maven] (https://maven.java.net/content/repositories/releases/org/glassfish/javax.faces/) – BalusC

Cuestiones relacionadas