2012-05-28 15 views
11

Desidero aggiornare la mia applicazione JSF per utilizzare Mojarra versione 2.1.8. Ho aggiunto queste righe nel file POM del pacchetto WAR:Come aggiornare la versione di Mojarra in GlassFish

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

Ho anche aggiunto il repository JSF. Il pacchetto I è compilato correttamente con la versione 2.1.8 di Mojarra. Ma quando apro il registro GlassFish vedo che esiste una versione 2.1.6 di Mojarra. Cosa mi manca? Devo fare qualche configurazione nel server GlassFish?

risposta

17

GlassFish stesso viene fornito già con JSF in bundle che ottengono per default la precedenza di caricamento delle classi rispetto a quella in bundle nella webapp. Fondamentalmente è necessario comunicare a GlassFish di utilizzare invece la Japp Japp in bundle.

Modifica del /WEB-INF/glassfish-web.xml (o /WEB-INF/sun-web.xml se si sta utilizzando una delle prime versioni GF3) per aggiungere le seguenti due voci webapp:

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

GlassFish utilizzerà quindi la webapp in bundle JSF invece.

In alternativa, se si dispone di un controllo di gestione completo su GlassFish, è possibile copiarlo anche nella directory /glassfish/modules, sostituendo la versione precedente, in modo che venga applicata a tutte le applicazioni web.

+0

Ho risolto il problema. Ho scaricato JSF 2.l.8 jar e ho sostituito il modulo in Glassfish. – user1285928

+0

Potresti condividere il collegamento e/o un identificatore di errore del manufatto a cui si fa riferimento con "JSF 2.1.8.jar" poiché la soluzione sopra descritta non funziona completamente (risolve alcuni problemi ma alcuni rimangono)? –

+0

@Karl: [homepage JSF] (https://javaserverfaces.java.net) -> [Download] (https://javaserverfaces.java.net/nonav/2.2/download.html) -> [Maven] (https://maven.java.net/content/repositories/releases/org/glassfish/javax.faces/) – BalusC

Problemi correlati