3.2.3. JSF 的修改

3.2.3.1. 启用应用程序以使用更旧版本的 JSF

介绍

如果您的应用程序使用了更旧版本的 JSF,您不需要升级到 JSF 2.0。相反,您可以创建一个 jboss-deployment-structure.xml 文件来请求 JBoss EAP 6 对您的应用程序部署使用 JSF 1.2 而不是 JSF 2.0。这个 JBoss 专有的部署描述符用来控制类加载并放在您的 WAR 的 META-INF/WEB-INF/ 目录里,或者 EAR 的 META-INF/ 目录里。

下面是一个 jboss-deployment-structure.xml 文件,它添加 JSF 1.2 模块的依赖关系且排斥或阻止了 JSF 2.0 模块的自动加载。
<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>