Comment installer une variante jar de JSF (javax.face.jar) sur WildFly
je veux utiliser le JSF 2.3 sur mon application, mais WildFly utilise la variante 2 JAR pour 2.2.
Oracle a dit ici https://javaserverfaces.java.net/2.3/download.html qui ne libèrera pas une variante 2.3 2 JAR.
1 réponses
Voici la procédure manuelle:
-
Extrait de
javax.faces.jar
avec un ZIP outil. Vous obtiendrez 3 dossierscom
,javax
etMETA-INF
. -
Pack
com
etMETA-INF
dossiers dansjsf-impl.jar
avec un ZIP outil. -
ensuite, supprimer tous les fichiers / sous-dossiers dans
META-INF
saufMANIFEST.MF
. -
Pack
javax
etMETA-INF
dossiers dansjsf-api.jar
avec un ZIP outil. -
continuer ici avec ces jarres: améliorer JSF / Mojarra dans JBoss AS / EAP / WildFly .
pour les intéressés, JBoss AS et WildFly ont en interne une séparation modulaire de Java EE basé Fichiers API et impl. Les fichiers JAR séparés jsf-api.jar
et jsf-impl.jar
sont toujours nécessaires. La raison n'est pas vraiment technique, mais juste un service supplémentaire pour forcer les développeurs programmant contre les bonnes bibliothèques. Seuls les modules API sont exposés pendant la compilation (généralement via le plugin IDE-integrated qui les ajoute à "build path"). Cela devrait éviter que les débutants trouvent, importent et utilisent accidentellement des classes d'implémentation telles que celles du paquet com.sun.faces.*
.
déjà depuis la version 1.x, le Mojarra de mise en œuvre JSF était composé de deux fichiers JAR: jsf-api.jar
et jsf-impl.jar
. Le JAR de L'API contenait les classes javax.faces.*
et le JAR de mise en œuvre contenait les classes com.sun.faces.*
. Depuis la modification du système de construction conforme aux règles Java EE Maven, L'API et les classes d'implémentation ont été fusionnées dans un seul fichier javax.faces.jar
, voir aussi issue 2028 (commencé avec Mojarra 2.1.6 en décembre 2011). Depuis Mojarra 2.3, les fichiers JAR séparés ne sont plus construits.