Include JSTL dependency with Maven

51,601

Solution 1

You need to add it to your pom.xml file.

In the dependencies node you need to add a reference to JSTL. You will probably need to set its scope to compile. So it would look something like this

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>"whatever version you need"</version>
  <scope>runtime</scope>
</dependency>

This is assuming you have the proper references to the maven distribution repository in your pom.xml or settings.xml

Solution 2

The dependencies mentioned above is not enough for me(using Tomcat 5.x as servlet container, which doesn't provide JSTL implementation itself). It just imports the according JSTL interface package into project, and will cause a runtime error in Tomcat.

Here is the dependency part used in my project, hopefully can help others out. The hardest part is the naming of the Apache's JSTL implementation in repository.

  <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.1.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <scope>runtime</scope>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>c</artifactId>
        <version>1.1.1</version>
        <scope>runtime</scope>
        <type>tld</type>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>fmt</artifactId>
        <version>1.1.1</version>
        <scope>runtime</scope>
        <type>tld</type>
    </dependency>

Solution 3

<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

http://mvnrepository.com/artifact/jstl/jstl/1.2

Solution 4

From: apache taglib

        <!-- TAGLIB: --> 
          <dependency>
          <groupId>org.apache.taglibs</groupId>
          <artifactId>taglibs-standard-spec</artifactId>
          <version>1.2.1</version>
        </dependency>

        <dependency>
          <groupId>org.apache.taglibs</groupId>
          <artifactId>taglibs-standard-impl</artifactId>
          <version>1.2.1</version>
        </dependency>  
            <!-- From taglib doc: To use this distribution with your own web applications, add the following JAR
                files to the '/WEB-INF/lib' directory of your application:
                   - taglibs-standard-spec-1.2.1.jar
                   - taglibs-standard-impl-1.2.1.jar
                   - taglibs-standard-jstlel-1.2.1.jar
                   - xalan-2.7.1.jar
                   - serializer-2.7.1.jar
            -->
        <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>2.7.1</version>
    </dependency>

        <dependency>
        <groupId>xalan</groupId>
        <artifactId>serializer</artifactId>
        <version>2.7.1</version>
    </dependency>
    <!-- TAGLIB: -->

Solution 5

I had the same problem. I solved it by adding Apache Tomcat libraries to the Java build path.

See my screenshots, I am using Maven:

Before adding Tomcat libraries:

desc

After adding Tomcat libraries:

desc

Share:
51,601
flybywire
Author by

flybywire

Updated on April 02, 2020

Comments

  • flybywire
    flybywire about 4 years

    I am using maven2, how do I add a dependency to JSTL (The JSP Standard Tag Library) ?