【问题标题】:Standard way of adding JSLT 1.2.1 in a Maven Project?在 Maven 项目中添加 JSLT 1.2.1 的标准方法?
【发布时间】:2014-08-07 08:55:45
【问题描述】:

在 maven 项目中添加 1.2.1 JSTL taglib 的标准 pom 是什么。关于何时/是否可以将其范围限定为 provided 的任何建议?任何服务器特性(对 Jboss 7、Glassfish 4 和/或 Tomcat 7 感兴趣)

编辑:添加:

<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>javax.servlet.jsp.jstl</artifactId>
    <version>1.2.1</version>
    <scope>provided</scope>
</dependency>

这增加了:

注意它会传递地添加 1.2 api。

我正在使用provided,因为我正在使用应该提供它的Jboss:Basic question complicated solution - Tomcat to JBoss。显然这仍然是 1.2 api

$ find . -name *jstl*.jar
./modules/javax/servlet/jstl/api/main/jboss-jstl-api_1.2_spec-1.0.2.Final.jar

(也包含实现)。那么正确的方法是将jstl jars添加到pom(不在提供的范围内)并将servlet-api(无论如何我在3上)标记为以某种方式提供?

【问题讨论】:

    标签: maven jstl maven-3


    【解决方案1】:

    最终使用:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <!-- Add the jstl-api dependency explicitly - otherwise jstl-api 1.2 is added -->
    <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>javax.servlet.jsp.jstl-api</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>javax.servlet.jsp.jstl</artifactId>
        <version>1.2.1</version>
        <exclusions>
             <!-- jstl-api was adding selvlet-api 2.5 and jsp-api-->
            <exclusion>
                <artifactId>jstl-api</artifactId>
                <groupId>javax.servlet.jsp.jstl</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    

    不确定是否应该添加 jstl-api 依赖项 - 请发表评论(实际上我会接受更权威的答案)。结果:

    见:

    对于 1.2:

    【讨论】:

      猜你喜欢
      • 2016-11-24
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2013-09-07
      • 2013-11-04
      • 2019-03-26
      相关资源
      最近更新 更多