Ce que les dépendances maven besoins de Servlet, JSP et JSTL dans Java EE 7?

Je veux utiliser le SDK de Java EE 7, Glassfish 4 et Maven.
Est-il correct? S'il vous plaît, attirer l'attention sur les étendues.

1. Pour les servlets:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>

2. JSP sans standart balises et sans JSTL:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.0</version>
</dependency>

3. Pour les JSP standard tag "c:"

<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

4. Pour les JSP avec JSTL

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    <scope>runtime</scope>
</dependency>

Savez-vous de la spécification où cette information contient?

Vous êtes mal comprendre le sens de "standard" taglibs. Cela ne signifie pas qu'il ne contient que c balises. C'est en fait l'ensemble de la JSTL 1.1.2 mise en œuvre de Apache. Ensuite, vous avez un autre JSTL 1.2 mise en œuvre qui est l'implémentation de référence (généralement, celui de Sun/Oracle). Ils seront évidemment en conflit les uns avec les autres. En gros, vous vous retrouvez avec deux JSTL implémentations. Vous devriez être de déclarer un seul d'entre eux. Notez que Glassfish déjà navires avec elle hors de la boîte, de sorte que le champ d'application doit évidemment être mis à "fourni".

OriginalL'auteur Aleks Ya | 2013-06-26