web-dev-qa-db-fra.com

Inclure la dépendance JSTL avec Maven

J'utilise maven2, comment ajouter une dépendance à JSTL (The JSP Standard Tag Library)?

32
flybywire

Vous devez l'ajouter à votre fichier pom.xml.

Dans le nœud des dépendances, vous devez ajouter une référence à JSTL. Vous devrez probablement définir sa portée pour la compilation. Donc, ça ressemblerait à quelque chose comme ça

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

Cela suppose que vous disposez des références appropriées au référentiel de distribution maven dans votre pom.xml ou settings.xml

31
Shayan

Les dépendances mentionnées ci-dessus ne me suffisent pas (en utilisant Tomcat 5.x comme conteneur de servlet, qui ne fournit pas l'implémentation JSTL elle-même). Il importe simplement le package d'interface JSTL correspondant dans le projet et provoquera une erreur d'exécution dans Tomcat.

Voici la partie dépendance utilisée dans mon projet, j'espère pouvoir aider les autres. La partie la plus difficile est la dénomination de l'implémentation JSTL d'Apache dans le référentiel.

  <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>
33
Jerry Tian
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

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

3
Mamut

J'ai eu le même problème. Je l'ai résolu en ajoutant des bibliothèques Apache Tomcat au chemin de build Java.

Voir mes captures d'écran, j'utilise Maven:

Avant d'ajouter des bibliothèques Tomcat:

desc

Après avoir ajouté les bibliothèques Tomcat:

desc

1
vanduc1102

De: 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: -->
1
user648026
<!-- standard.jar --> 
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

<!-- JSTL --> 
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.1.2</version>
</dependency>
0
Koray Tugay