【问题标题】:What EL version should I use along with JSF 2.1.29-01?我应该与 JSF 2.1.29-01 一起使用哪个 EL 版本?
【发布时间】:2015-04-13 08:11:28
【问题描述】:

当我们使用 JSF 1.2-09 时,我们有以下依赖项:

<dependency>
    <groupId>el-impl</groupId>
    <artifactId>el-impl</artifactId>
    <version>1.0</version>
</dependency>

但是现在,我们正在更新到 JSF 2.1.29-01,现在还不清楚我应该使用哪个版本?

【问题讨论】:

    标签: maven jsf jsf-2 el


    【解决方案1】:

    来自 JSF Tag Info 的最低要求:

    JSF 2.1 使用了一些 Servlet 3.0 特有的特性,但是是倒退的 与 Servlet 2.5 兼容。这些 Servlet 3.0 特性是可选的。

    如果我们查看 JSF 2.0 的最低要求,我们会发现:EL 2.1 与 Servlet 2.5 齐头并进

    所以结论是 EL 2.1 是 推荐的 JSF 2.1 的 EL

    【讨论】:

      【解决方案2】:

      您使用的 EL 实现以及 el-api jar 是您的应用程序容器分发的一部分。由于 JSF 2.0/2.1 是由 Tomcat 7 实现的Java EE 6 技术堆栈的一部分,因此您应该链接到该 API 规范。

      要编译您的源代码,您需要在 pom 中使用 &lt;scope&gt;provided&lt;/scope&gt; 引用所需的 el-api 2.2,这样您的 Web 存档将不包含任何 EL 库,并避免与容器提供的库可能发生冲突。

      【讨论】:

        【解决方案3】:

        Maven repository的信息来看,JSF 2.1依赖于el-api 1.0

        【讨论】:

        • 所以甚至没有必要包含该依赖项,不是吗?
        • 我认为Maven不会通过jsf依赖获取它,你必须自己包含它。
        • 但是 EL2 呢?我可以在 JSF 2.1 中开始使用它吗?
        • 当然,1.0 只是最低要求的版本。
        • 刚刚检查过,如果您使用的是 Tomcat - el-api 2.2 包含在 Tomcat 7 发行版中,因此您可以使用 &lt;scope&gt;provided&lt;/scope&gt; 包含依赖项。
        猜你喜欢
        • 2016-04-01
        • 1970-01-01
        • 2015-06-18
        • 2011-07-17
        • 1970-01-01
        • 2010-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多