Je dois regrouper l'implémentation JSF dans mon fichier WAR en raison d'un bogue connu dans l'implémentation initiale de mojarra.L'intégration de JSF dans WAR pour Payara échoue avec JSF1051 GlassFishInjectionProvider ne s'étend pas DiscoverableInjectionProvider
Je ne suis pas autorisé à remplacer l'implémentation JSF dans les modules, donc j'utilise la propriété useBundledJsf. Exécution de Payara Version: Payara Server 4.1.1.164 #badassfish (build 28) Cette version devrait prendre en charge useBundledJsf correctement.
J'ai ajouté à mon GlassFish-web.xml:
<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />
et a ajouté les javax.faces dependecy à mon pom:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.2.13</version>
</dependency>
Je reçois l'erreur suivante et toutes les injections échouent.
SEVERE: JSF1051: Service entry 'org.glassfish.faces.integration.GlassFishInjectionProvider' does not extend DiscoverableInjectionProvider. Entry will be ignored.
J'ai essayé d'ajouter la soudure integration.jar à mon projet, mais il produit encore l'erreur JSF1051 suivante:
Unable to create a new instance of 'org.jboss.weld.jsf.ConversationAwareViewHandler'
La dépendance de la soudure d'intégration j'ai utilisé:
<dependency>
<groupId>org.glassfish.main.web</groupId>
<artifactId>weld-integration</artifactId>
<version>4.1.2</version>
<exclusions>
<exclusion>
<artifactId>*</artifactId>
<groupId>*</groupId>
</exclusion>
</exclusions>
Merci pour le conseil, mais je ne suis pas sûr de ce que je devrais whitelist ici. tous les paquets utilisés par les facelets sont déjà en liste blanche (Classes en blanc par défaut): com.sun, javax et le paquetage dans le message d'erreur org.glassfish. Il essaie toujours de charger JSF externaly et l'erreur est toujours là. – tak3shi