【问题标题】:How to configure Maven pom for Tomcat 7 with JSF 2.0 and EL 2.2?如何使用 JSF 2.0 和 EL 2.2 为 Tomcat 7 配置 Maven pom?
【发布时间】:2011-12-09 08:04:17
【问题描述】:

我想将 EL 2.2 用于 JSF 2 应用程序 tomcat 7 随 EL 2.2 提供 我对以下内容感到困惑:

1- 我是否应该在我的 pom 中提供 servlet-apijsp-apiEL文件(使用 maven)作为 provided 或根本不将它们包含在 pom 文件中,因为它们是由容器提供的,有什么区别?

<dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>3.0</version>
          <scope>provided</scope>
         </dependency>


        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2</version>
          <scope>provided</scope>
        </dependency>

        <dependency>
         <groupId>javax.el</groupId>
         <artifactId>el-api</artifactId>
         <version>2.2</version>
         <scope>provided</scope>
       </dependency>

2- 是否需要将它们添加到 pom 文件中才能使用 EL 2.2?

3- web.xml 中是否需要任何其他配置,如本文所述:

http://code2inspire.wordpress.com/2010/11/05/how-to-enable-el-2-2-on-tomcat-6/

请指教。

【问题讨论】:

    标签: jakarta-ee maven jsf-2 el tomcat7


    【解决方案1】:
    1. 不需要包含在 pom.xml 文件中,因为 tomcat 已经有了它。但根据我的经验,当我尝试进行一些 servlet 编程时,需要在 pom 中包含 servlet-api 依赖项。就像你说的那样,定义范围,因为它已经在 tomcat 中,并且你不希望在构建战争时包含来自 pom 的 servlet-api jar。我的 2 分钱是不包含依赖,只要它在运行,并在需要时包含,然后在 pom.xml 中记录它包含的原因。

    2. 我认为您不需要声明任何其他依赖项,只要您的容器已经实现。我假设 tomcat 7 可以,因为我也在使用它,并且我没有在 pom 依赖项中声明任何其他内容以使用 EL 2.x

    3. 自从我使用 t7 以来从未尝试过,但与核心 jsf 第 3 版书籍进行交叉检查,是的,那会工作

    【讨论】:

    • 我的问题主要是建筑问题。我的代码不适用于 el-api.jar(在 tomcat lib 中默认提供),需要 el-api-2.2.jar。 #1。在 pom.xml 中添加它有意义吗? #2。如果添加到 pom.xml 中,这些库会以任何方式干扰吗? #3。我是否应该将 el-api.jar 替换为最新版本,现在是 v2.2?
    • @Dexter: #1 :我认为当您在代码中使用 EL API 时这当然是有意义的,就像您只需要在您的类路径中包含 servlet-api 时在您的代码中进行 servlet 编程。 #2 :当您对该工件使用“提供”范围时,它不会干扰 tomcat 的 EL api,因为 jar 不会包含在您的 WAR 中。 #3:如果您使用的是 tomcat 6,那么可以。按照wiki.apache.org/myfaces/HowToEnableEl22中的说明进行操作
    • 谢谢,这回答了我的问题。
    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2016-05-28
    相关资源
    最近更新 更多