JSF的库(Sun / Oracle Mojarra)

时间:2012-06-21 20:02:59

标签: jsf-2 jar mojarra

我正在从http://javaserverfaces.java.net/download.html

下载JSF的Sun / Oracle Mojarra实现

我下载了最新的-2.1.9二进制文件。它只有一个jar - javax.faces-2.1.9.jar。 我有一个示例项目,我相信它使用的是旧的2.0版本,其中包括2个罐子 - jsf-api.jar和jsf-impl.jar。

我用一个新罐替换了那两个旧罐子。看起来样本项目仍然运作良好。

我的问题:

  1. 除了更换那些2个罐子之外还有什么需要做的吗

  2. 这有什么特殊原因从2个罐变为1个?

  3. 非常感谢。

    MORE:

    我注意到了faces-config.xml

    中的版本
    <?xml version="1.0"?>
    <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  http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0">
    </faces-config>
    

    我将2.0和2_0更改为2.1和2_1。示例项目仍然有效。我应该做出这些改变吗?

1 个答案:

答案 0 :(得分:9)

  

除了更换这两个罐子外,还有什么需要做的吗?

没有


  

任何特殊原因,这是从2个罐变为1个

在2.1.6发布之前,他们重构了构建系统符合Java EE Maven规则。另见Mojarra issue 2028。这导致两个众所周知的jsf-api.jarjsf-impl.jar文件被单个javax.faces.jar文件替换。


  

我将2.0和2_0更改为2.1和2_1。示例项目仍然有效。我应该做出这些改变吗?

你可以这样做。唯一的区别是faces-config 2.1 XSD定义了两个新元素而不是faces-config 2.0 XSD

  • <facelet-cache-factory>注册自定义FaceletCache
  • <redirect-param>在重定向导航案例中指定请求参数。

如果您不需要其中任何一个,那么如果您使用的是2.0或2.1 XSD则无关紧要。当使用JSF 2.1和2.0 XSD时,Mojarra 2.1内部没有2.0回退模式。