3.2.3. JSF-Änderungen

3.2.3.1. Applikationen die Verwendung älterer Versionen von JSF ermöglichen

Zusammenfassung

Falls Ihre Applikation eine ältere Version von JSF verwendet, so müssen Sie kein Upgrade zu JSF 2.0 durchführen. Sie können stattdessen eine jboss-deployment-structure.xml-Datei erstellen, damit die JBoss EAP 6 JSF 1.2 statt JSF 2.0 mit dem Deployment Ihrer Applikation verwendet. Dieser JBoss spezifische Deployment-Deskriptor wird zur Steuerung des Klassenladens verwendet und wird im META-INF/- oder WEB-INF/-Verzeichnis Ihres WAR oder im META-INF/-Verzeichnis Ihres EAR platziert.

Nachfolgend sehen Sie das Beispiel einer jboss-deployment-structure.xml-Datei, die eine Abhängigkeit für das JSF 1.2 Modul hinzufügt und das automatische Laden für das JSF 2.0 verhindert.
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
    <deployment>
        <dependencies>
            <module name="javax.faces.api" slot="1.2" export="true"/>
            <module name="com.sun.jsf-impl" slot="1.2" export="true"/>
        </dependencies>
    </deployment>
    <sub-deployment name="jboss-seam-booking.war">
        <exclusions>
            <module name="javax.faces.api" slot="main"/>
            <module name="com.sun.jsf-impl" slot="main"/>
        </exclusions>
        <dependencies>
            <module name="javax.faces.api" slot="1.2"/>
            <module name="com.sun.jsf-impl" slot="1.2"/>
        </dependencies>
    </sub-deployment>
</jboss-deployment-structure>