lundi 20 juin 2011

java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config


Problème :

Lorsque j'ouvre une page JSP, j'ai l'erreur suivante :

20:16:32,243 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/getting-spring].[integration]] "Servlet.service()" pour la servlet integration a généré une exception: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config from BaseClassLoader@74c252{vfs:///opt/jboss/jboss-6.0.0.Final/server/dr_jbossweb-standalone/deploy/getting-spring.war}
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.0.GA]

J'ai regardé dans le fichier pom.xml et j'ai bien les bonnes dépendances Maven :

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <scope>provided</scope>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <scope>provided</scope>
      <version>1.1.2</version>
    </dependency>


De plus dans mon war, les librairies sont bien présentes.

Solution

Il faut ajouter jstl-1.1.2.jar dans le répertoire lib (Pour JBoss 6 par exemple on peut l'ajouter dans  jbossweb-standalone/lib)


remarque : Vous pouvez trouver le jar sur le repos Maven