2KB项目,专业的源码交易网站 帮助 收藏 每日签到

在 JBoss AS 7 上安装 JSF 2.2

  • 时间:2019-01-23 18:42 编辑:2KB 来源:2KB.COM 阅读:456
  • 扫一扫,手机访问
  • 分享
摘要:
JBoss AS JSF 英文原文:Installing JSF 2.2 on JBoss AS 7

这篇教程了我们将展示怎样把JSF 2.2 API (Java EE 7 规范的一部分)安装到JBoss AS 7上。

Java EE 7即将到来,以一些有趣的新特性为主。在一些修改后,JSF 2.2规范将包含下面所谓大票(Big Tickets)的特性:

  • 明智的HTML5支持-
  • Face流
  • 无状态View
  • 资源库合约
Face流 是JSF 2.2里最有趣的特性,它允许定义页面流通过简单的CDI注解来导航,如@FlowScoped会选择一个bean来考虑作为一个指定的流的一部分。

(一个值得注意的细节是JSF 2.2在这里如此介绍一个CDI上的依赖,这可能意味着JSF的其他方面也要向CDI靠近)

当前的JBoss AS 7.1.1 和EAP 6.1副本的发行版都是基于JSF 2.1的,然而,由于JBoss AS 7的模块化核心,升级JSF库是很简单的。

首先我们获取到JSF2.2的库。在本教程编写的时候,一个JSF API 的2.2.0快照版本和实现(Mojarra)已经在Maven的Nexus仓库上: https://maven.java.net/index.html。从这些图片上你能看到,你需要获取到核心API和它的实现


下载完以后,我们将安装这些模块到应用服务器上。

#1 替换当前的JSF2.1库选项
你需要复制这两个JAR文件到已经安装在应用服务器上的模块里:

  • modules/com/sun/jsf-impl/main 放实现的
  • modules/javax/faces/api/main 放API的

同时修改 resource-root 路径 相应的每个 module.xml:

<resource-root path="jsf-impl-2.2.0-20130322.075047-259.jar"/>
<resource-root path="jsf-api-2.2.0-20130322.075010-270.jar"/>

此外,你需要在JSF API的module.xml里声明明确的对JSF实现的引用

<module name="com.sun.jsf-impl"/> 

#2 为你的JSF2.2API再加入一个槽
你可能知道,AS7通过为每个库加入一个槽来允许安装一个库的几个版本。因此,你需要在你的AS7发型版里配置下面的结构:
  • modules/com/sun/jsf-impl/2.2 放实现
  • modules/javax/faces/api/2.2 放API

现在, 进入modules/com/sun/jsf-impl/2.2 文件夹复制jsf-impl-2.2.0-20130322.075047-259.jar文件同时加入下面的module.xml:

<module xmlns="urn:jboss:module:1.1" name="com.sun.jsf-impl" slot="2.2">
    <properties>
        <property name="jboss.api" value="private"/>
    </properties>
    <dependencies>
        <module name="javax.faces.api" slot="2.2"/>
        <module name="javaee.api"/>
        <module name="javax.servlet.jstl.api"/>
        <module name="org.apache.xerces" services="import"/>
        <module name="org.apache.xalan" services="import"/>
    </dependencies>
    <resources>
        <resource-root path="jsf-impl-2.2.0-20130322.075047-259.jar"/>
    </resources>
</module>
同样的方法,进入 modules/javax/faces/api/2.2复制 jsf-api-2.2.0-20130322.075010-270.jar文件同时加入下面的 module.xml
<module xmlns="urn:jboss:module:1.1" name="javax.faces.api" slot="2.2">
    <dependencies>
        <module name="javax.el.api" export="true"/>
        <module name="javax.servlet.api" export="true"/>
        <module name="javax.servlet.jsp.api" export="true"/>
        <module name="javax.servlet.jstl.api" export="true"/>
        <module name="javax.validation.api" export="true"/>
        <module name="com.sun.jsf-impl" slot="2.2"/>
    </dependencies>
    <resources>
       <resource-root path="jsf-api-2.2.0-20130322.075010-270.jar"/>
    </resources>
</module>
为了触发JSF 2.2 API,我们需要部署一个实际使用JSF的应用,因此,部署任何web应用,它要包含 一个JSF 2.2的faces-config.xml
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee <a href="http://java.sun.com/xml/ns/javaee/web-facesconfig_2_2.xsd">http://java.sun.com/xml/ns/javaee/web-facesconfig_2_2.xsd</a>"
    version="2.2">
</faces-config>
最后,如果你已经把JSF 2.2作为一个槽安装到你的AS7里,你需要在你的 jboss-deployment-structure.xml里提供一个指向JSF 2.2库的依赖和排除默认的JSF 2.1 API:
<jboss-deployment-structure>
<deployment>
    <exclusions>
     <module name="javax.faces.api" />
     <module name="com.sun.jsf-impl" />
    </exclusions>
 <dependencies>
     <module name="javax.faces.api" slot="2.2"/>
     <module name="com.sun.jsf-impl" slot="2.2"/>
    </dependencies>
</deployment>
</jboss-deployment-structure>
<?xml version="1.0" encoding="UTF-8"?>


那就是这样了!一旦发布了你的JSF 2.2 应用,你可以到控制台上检查到新的JSF 2.2 API已经正确的注册了:


今晚我们并没有使用JSF 2.2 API编写任何例子(但我们很快就要品尝它了!)如果你想尝试JSF 2.2的一些新特性,你可以把已经从Maven仓库下载好的两个JAR文件放到你的Eclipse库 ,或者如果你的项目使用Maven,则可以把下面的依赖加到你的pom.xml:

<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-api</artifactId>
  <version>2.2.0-SNAPSHOT</version>
</dependency>

最后说明:上面的配置已经在jboss-eap-6.1平台上测试过,但它应该同样能在AS 7.1.1社区版上工作。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部