Changer Mojarra dans GlassFish

L'exemple suppose que GlassFish est installé sous Windows.

  1. Récupérer la dernière version de Mojarra à l’adresse https://javaserverfaces.java.net/, appelons-la javax.faces-2.2.6.jar
  2. Fermer GlassFish s’il est en marche
  3. Aller dans le répertoire modules de GlassFish (disons C:\Program Files\glassfish-4.0\glassfish\modules)
  4. Remplacer le fichier javax.faces.jar par le fichier jar de la dernière version de Mojarra (javax.faces-2.2.6.jar pour notre exemple) en le renommant javax.faces.jar
  5. Lancer GlassFish ; dans les logs devrait apparaître une ligne
    INFO: Updated bundle 196 from /C:/Program Files/glassfish-4.0/glassfish/modules/javax.faces.jar
    et une ligne
    INFO: Initialisation de Mojarra 2.2.6

Si cette procédure ne marche pas, c'est sans doute parce que l'ancienne version de Mojarra est restée dans le cache de OSGI (utilisé pour construire Felix). Recommencez en ajoutant une étape juste après l'étape 4 :

4 bis. Vider le cache OSGI du domaine que GlassFish utilise. Il s'agit du répertoire nommé osgi-cache situé juste sous le répertoire du domaine. Il faut supprimer tout ce que contient ce répertoire (un répertoire felix le plus souvent). Le redémarrage de GlassFish sera un peu long car il doit reconstruire Felix, patientez... Si vous êtes prudent, gardez le répertoire felix enlevé de osgi-cache à un autre endroit, mais tout devrait bien se passer.

Pour savoir où se trouve le répertoire du domaine utilisé par GlassFish, aller dans NetBeans et