33 votes

Inclure la dépendance JSTL avec Maven

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

0 votes

Il y a une subtilité entre la version 1.1.2, la version 1.2, Tomcat et GlassFish. Voir ici pour plus de détails : tshikatshikaaa.blogspot.nl/2012/07/

33voto

Jerry Tian Points 1169

Les dépendances mentionnées ci-dessus ne sont pas suffisantes pour moi (j'utilise Tomcat 5.x comme conteneur de servlets, qui ne fournit pas l'implémentation de JSTL lui-même). Il importe simplement le paquet 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 que cela pourra aider d'autres personnes. La partie la plus difficile est le nommage 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>

0 votes

@dcompiled Je ne trouve pas de document officiel sur ce sujet dans Maven, mais à mon avis, tld signifie "Tag Library Descriptor", qui est lui-même un fichier XML.

0 votes

Pour mémoire, j'utilise tomcat 7 et celui donné dans la réponse acceptée semble me suffire....

32voto

Shayan Points 243

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 sur la compilation. Ainsi, cela ressemblerait à quelque chose comme ceci

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

Cela suppose que vous ayez les références appropriées au dépôt de distribution maven dans votre pom.xml ou settings.xml.

0 votes

Est-ce que cela inclut le standard.jar aussi ? J'utilise GlassFish, est-ce que le fait d'inclure uniquement le fichier jstl le travail de dépendance ?

0 votes

standard.jar est pour JSTL 1.0. Vous ne devez absolument pas l'inclure avec JSTL 1.1 ou plus récent. Si vous le faites, EL pourrait cesser de fonctionner car il faisait à l'origine partie de JSTL 1.0 et a ensuite été déplacé dans JSP 2.0.

3voto

Mamut Points 31
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

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

5 votes

L'id de groupe jstl devrait être déprécié. Utilisez <groupId>javax.servlet</groupId> à la place.

3voto

user648026 Points 477

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: -->

0voto

Koray Tugay Points 1885
<!-- 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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X