web-dev-qa-db-fra.com

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

Lorsque j'exécute mon application après avoir entré l'URL, cette exception arrive. J'utilise Eclipse et Tomcat7.0.35. J'ai aussi ajouté Jstl.jar et jstl1.2.jar

Mon code est

Java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1714)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
    at org.Apache.myfaces.view.jsp.JspViewDeclarationLanguage.buildView(JspViewDeclarationLanguage.Java:91)
    at org.Apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.Java:78)
    at org.Apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.Java:241)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.Java:199)
    at org.Apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.Java:305)
    at org.Apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.Java:210)
    at org.Apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.Java:222)
    at org.Apache.catalina.core.StandardContextValve.invoke(StandardContextValve.Java:123)
    at org.Apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.Java:472)
    at org.Apache.catalina.core.StandardHostValve.invoke(StandardHostValve.Java:171)
    at org.Apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.Java:99)
    at org.Apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.Java:936)
    at org.Apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.Java:118)
    at org.Apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.Java:407)
    at org.Apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.Java:1004)
    at org.Apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.Java:589)
    at org.Apache.Tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.Java:310)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at Java.lang.Thread.run(Unknown Source)
43
Ssv

Téléchargez les pots suivants et ajoutez-les à votre WEB-INF/lib répertoire:

51
Sudhakar

L'erreur indique que la classe ne peut pas être trouvée car elle n'est pas disponible dans votre application.

Si vous utilisez Maven , assurez-vous de disposer de la dépendance pour jstl artefact:

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

Si vous ne l'utilisez pas, assurez-vous simplement d'inclure le fichier JAR dans votre chemin de classe. Voir cette réponse pour les liens de téléchargement.

64
Raul Rene

Par défaut, le conteneur Tomcat ne contient aucune bibliothèque jstl. Pour résoudre ce problème, déclare jstl.jar dans votre fichier Maven pom.xml si vous travaillez dans un projet Maven ou ajoutez-le au chemin de classe de votre application.

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
8
Sarath Kumar Sivan

Ajoutez jstl jar à votre chemin d'accès aux classes.

3
Nishant Shreshth

Les bibliothèques jstl sont probablement absentes de votre chemin de classe/inaccessibles par Tomcat.

Vous devez ajouter au moins les fichiers JAR suivants dans votre WEB-INF/lib répertoire:

  • jsf-impl.jar
  • jsf-api.jar
  • jstl.jar
2
dan

Ajoutez bibliothèque JSTL comme dépendance à votre projet (javax.servlet.jsp.jstl.core.Config _ fait partie de ce package). Par exemple, si vous utilisiez Gradle , vous pourriez écrire dans un build.gradle:

dependencies {
    compile 'javax.servlet:jstl:1.2'
}
1
naXa

Juste un petit commentaire: parfois, Maven ne copie pas le fichier jstl-.jar dans le dossier WEB-INF, même si le fichier pom.xml contient l’entrée correspondante.

J'ai dû copier manuellement le fichier JSTL dans/WEB-INF/lib sur le système de fichiers. Cela a résolu le problème. Le problème peut être lié au plugin Maven war packaging.

1
George

J'ai eu le même problème. Allez dans Propriétés du projet -> Assemblage de déploiement et ajoutez jstl jar

1
José Manuel