Upgrade JSF / Mojarra in JBoss AS / EAP / WildFly
Wie führe ich ein upgrade Mojarra in der JBoss-server und sagen Sie es verwenden Mojarra 2.x Gläser statt der JBoss-eigenen jboss-jsf-api_2.1_spec-2.0.1.Final.jar
wie bereits in der startup log?
Falls das relevant ist, ich bin derzeit mit JBoss AS 7.1.
InformationsquelleAutor user2172625 | 2013-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das unten stehende Verfahren gilt für JBoss AS 7.2+, JBoss EAP 6.1+, und JBoss WildFly 8+ und meint, Sie habe die volle Kontrolle über die server-installation und Konfiguration. Dies aktualisiert den server-weiten Standard JSF-version:
javax.faces.jar
- Datei). Aktuelle neueste 2.1.- x-version 2.1.29 und aktuelle neueste 2.2.- x-version 2.2.14. Nehmen wir an, Sie möchten ein upgrade auf 2.2.x. Sie können Sie individuell von Ihrem Maven-repository:jsf-api-2.2.14.jar
jsf-impl-2.2.14.jar
/modules/system/layers/base/javax/faces/api/main
:jsf-api-2.2.14.jar
Datei vorhanden.module.xml
Datei und Bearbeiten<resource-root>
zu geben Sie den neuen Datei-Namen, wie in<resource-root path="jsf-api-2.2.14.jar"/>
/modules/system/layers/base/com/sun/jsf-impl/main
:jsf-impl-2.2.14.jar
Datei vorhanden.module.xml
Datei und Bearbeiten<resource-root>
zu geben Sie den neuen Datei-Namen, wie in<resource-root path="jsf-impl-2.2.14.jar"/>
/standalone/data
(mit Ausnahme von benutzerdefinierten Daten-Ordner wie Ordner mit den hochgeladenen Dateien, natürlich)/standalone/deployments
/standalone/tmp
Die gleiche Prozedur gilt für JBoss AS 7.0/7.1 und JBoss EAP 6.0, Sie brauchen nur zu durchsuchen, in
/modules/*
statt/modules/system/layers/base/*
, müssen Sie diese explizit löschen Sie die alte.index
Datei gibt es, wenn jede (JBoss wird autocreate). Auch, wenn diemodule.xml
im API-Ordner findet<module name="com.sun.jsf-impl"/>
innen<dependencies>
, dann müssen Sie es manuell hinzufügen.Wichtiger Hinweis ist, dass Mojarra 2.2.x-Versionen, die älter als 2.2.7 scheitern wird AS/EAP-während des Einsatzes, mit der folgenden Ausnahme:
org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.faces.flow.builder.FlowDefinition
. Sie haben dann im Grunde 2 Möglichkeiten: downgrade auf Mojarra 2.1.x oder ein upgrade auf mindestens 2.2.7 oder höher.In den Fall, Sie möchten ein upgrade auf Mojarra 2.3, die nicht bieten eine 2-JAR-Variante mehr auf Maven, müssten Sie manuell erstellen 2-JAR-Variante basiert auf
javax.faces.jar
Datei gemäß diesem Verfahren: So installieren Sie eine jar-Variante des JSF - (javax.faces.jar) auf WildFly.Du bist herzlich willkommen.
Ich habe folowed diese Anweisungen, aber ich wenn ich jboss7.1 server bekomme ich die Fehlermeldung, Kritische Fehler, die bei der Bereitstellung: : java.lang.NoClassDefFoundError: com/sun/faces/spi/InjectionProvider, irgendwelche Tipps?
oben ist auch anwendbar auf 2.2. Zumindest auf WildFly, die nur nicht
.index
Dateien mehr und schon hat sich diecom.sun.jsf-impl
Modul-Eintrag nach rechts. Habe nicht versucht, 2.2 auf JBoss AS7/EAP6 noch.Ich fügte hinzu, die jsfi-mpl-Modul als Abhängigkeit. Siehe hier: stackoverflow.com/questions/17138490/...
InformationsquelleAutor BalusC